OpenGL(Open Graphics Library) 定义了⼀个跨编程语⾔、跨平台编程的专业图形程序接⼝。可⽤于⼆维或三维图像的处理和渲染,它是⼀个功能强⼤、调⽤⽅便的底层图形库。
对于嵌⼊式设备,其提供了 OpenGL ES(OpenGL for Embeddled Systems)版本,该版本是针对⼿机、Pad 等嵌⼊式设备⽽设计的,OpenGL ES 是 OpenGL 的⼀个⼦集。
GLSL(OpngGL Shading Language)是 OpenGL 的着色器语言,开发人员利用这种语言编写程序运行在 GPU(Graphic Processor Unit,图形图像处理单元,可以理解为是一种高并发的运算器)上以进行图像的处理或渲染。
⼀般⽤来处理图形中每个像素点颜色计算和填充;
⽚段着⾊器是 OpenGL 中⽤于计算⽚段(像素)颜色的程序。⽚段着色器是 逐像素运算的程序,也就是说每个像素都会执行⼀次⽚段着⾊器,当然也 是并行的。
顶点着⾊器是 OpenGL 中⽤于计算顶点属性的程序。顶点着⾊器是逐顶点运 算的程序,也就是说每个顶点数据都会执行一次顶点着⾊器,当然这是并 ⾏的,并且顶点着⾊器运算过程中⽆法访问其他顶点的数据
一般来说典型的需要计算的顶点属性主要包括顶点坐标变换、逐顶点光照 运算等等。顶点坐标由自身坐标系转换到归一化坐标系的运算,就是在这 ⾥发生的。
顶点着色器决定一个图元应该位于屏幕的什么位置,而片元着色器决定某个片元的颜色应该是什么;