你的位置:首页 > 操作系统

[操作系统]OpenGL ES 3.0顶点着色器(二)


#version 300 esuniform 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改变顶点的位置。