顶点着色器和片段着色器是计算机图形渲染管线中最为重要的两个部分,图形编程操作的最多的也是这两处,首先顶点着色器:处理顶点的坐标变换,有时候也会在顶点着色器中对图元顶点进行着色操作,片段着色器:是真正将片段转换为屏幕上真实像素的处理过程,以及在这一最终渲染图像的过程中,实现我们需要的各种高级效果。
顶点着色器:
#version 330 core //指定版本和核心渲染模式(也就是可编程渲染管线) layout(location = 0) in vec3 aPos;//表示vao中0索引代表的是顶点坐标位置信息 out vec4 vertexColor;//顶点着色器输出给下一个阶段使用的参数 void main(){ gl_Position = vec4(aPos,1.0);//使用gl内部函数获取模型的顶点坐标 vertexColor = vec4(0.5,0.0,0.0,1.0)//修改将要输出的颜色参数 }
判断着色器:
#version 330 core //指定版本和核心渲染模式(也就是可编程渲染管线) out vec4 FragColor;//片段着色器输出给下一个阶段使用的参数 in vec4 vertexColor;//使用in关键字来接收顶点着色器(判断着色器上一阶段)的输入参数 void main(){ FragColor = vertexColor;//在片段着色器中給每个像素点赋值,区间可能是使用采样技术处理 }
u3d中的顶点着色器: