顶点着色器: char vShaderStr[] = 1、 "#version 300 es \n" 2、 "layout(location = 0) in vec4 vPosition; \n" 3、 "void main() \n" 4、 "{ \n" 5、 " gl_Position = vPosition; \n" 6、 "} \n"; 第一行:着色器版本,表示Opengl3.0着色语言V3.00 第二行:声明一个输入属性数组,一个名为vPosition的四分量, layout(location = 0)限定符表示这个变量的位置是顶点属性0, 第三行:着色器声明一个main,表示着色器执行开始, 第五行:将vPosition输入属性拷贝到名为gl_Position的特殊输出变量, 每个顶点着色器必须在gl_Position变量中输出一个位置。这个变量定义传递到 管线下一个阶段的位置。 片段着色器: char fShaderStr[] = 1、 "#version 300 es \n" 2、 "precision mediump float; \n" 3、 "out vec4 fragColor; \n" 4、 "void main() \n" 5、 "{ \n" 6、 " fragColor = vec4 ( 1.0, 0.0, 0.0, 1.0 ); \n" 7、 "} 第一行:着色器版本 第二行:声明着色器中浮点数的默认精度 第三行:一个4分量的输出变量,写入这个变量的值将被输出到颜色缓存区 第六行:此例子中,所有片段的着色器输出都是红色