OpenGLES笔记四着色器编写

着色器的编写,过程就比较复杂,首先要了解glsl(OpenGL Shading Language),编写顶点着色器、片元着色器。

glsl限定符

attritude:一般用于各个顶点各不相同的量。如顶点颜色、坐标等。只能在顶点着色器中使用

uniform:一般用于对于3D物体中所有顶点都相同的量。比如光源位置,统一变换矩阵等。不能被修改,由外部传递进来。

varying:表示易变量,一般用于顶点着色器传递到片元着色器的量。

glsl常用內建变量

gl_Position,顶点的位置,在顶点着色器中使用,四维向量

gl_FragColor,顶点颜色,在片元着色器中使用,四维向量

texture2D,获取纹理某个位置的纹理,第一个参数是纹理句柄,第二个是纹理位置

着色器加载的过程:获取着色器路径,创建可执行程序、shader,获取着色器内容,加入shader,编译shader,shader附着可执行程序,连接可执行程序,检查错误,执行程序。

编译着色器

OpenGLES笔记四着色器编写_第1张图片

加载着色器返回可执行程序

OpenGLES笔记四着色器编写_第2张图片

连接、检查、使用可执行程序

OpenGLES笔记四着色器编写_第3张图片

你可能感兴趣的:(OpenGLES笔记四着色器编写)