(未完待续)
接着上章节,本章节以实际代码介绍OPenGL渲染管线各环节的效果和作用。

以下是管线渲染的主要着色器阶段,以及每个阶段的功能和示例:
1. 顶点着色器(Vertex Shader)
功能:
- 处理每个输入的顶点。
- 进行顶点变换,如从模型空间到裁剪空间的变换(比如视图变换、投影变换)。
- 计算顶点相关属性(如法线、纹理坐标等),将数据传递到后续阶段。
示例:
#version 460 core
layout(location = 0) in vec3 inPosition;
layout(location = 1) in vec3 inNormal;
uniform mat4 model;
uniform mat4 view;
uniform mat4 projection;
out vec3 fragNormal;
void main() {
fragNormal = mat3(transpose(inverse(model))) * inNormal; // 法线变换
gl_Position = projection * view * model * vec4(inPosition, 1.0); // 变换到裁剪空间
}
2. 细分控制着色器(Tessellation Control Shader, TCS)

最低0.47元/天 解锁文章
2957

被折叠的 条评论
为什么被折叠?



