#version 300 es uniform mat4 u_mvpMatrix; in vec4 a_position; in vec4 a_color;
out vec4 v_color;
void main() { v_color = a_color; gl_Position = u_mvpMatrix * a_position; }
上面是一段顶点着色器代码。
#version 300 es
出现在顶点着色文件的第一行,说明着色语言版本是3.0(shading language 3.0)
uniform mat4 u_mvpMatrix;
创建一个用于存储组合模型视图投影矩阵的uniform变量u_mvpMatrix。
in vec4 a_position; in vec4 a_color;
输入给顶点着色器,作为顶点着色器的属性。
a_position是输入顶点的位置属性,a_color是输入顶点的颜色属性。
out vec4 v_color;
输出顶点颜色
gl_position是内置的自动声明变量,着色器必须写入变换位置传递给它。
void main是一个顶点或片段着色器的入口点。
v_color = a_color;
我们读取顶点属性输入a_color写它的顶点颜色输出v_color。
gl_Position = u_mvpMatrix * a_position;
通过gl_Position改变顶点的位置。