光照与阴影渲染技术详解
在图形渲染中,光照和阴影的处理对于营造逼真的场景至关重要。本文将详细介绍几种常见的光照和阴影渲染技术,包括带衰减的逐片段点光源、逐片段聚光灯、使用FBO的阴影映射以及使用百分比更接近过滤(PCF)的阴影映射。
1. 带衰减的逐片段点光源
带衰减的逐片段点光源渲染技术可以模拟点光源在空间中的衰减效果,使场景更加真实。
1.1 实现步骤
- 顶点着色器输出 :从顶点着色器输出眼空间顶点位置和法线。
#version 330 core
layout(location=0) in vec3 vVertex;
layout(location=1) in vec3 vNormal;
uniform mat4 MVP;
uniform mat4 MV;
uniform mat3 N;
smooth out vec3 vEyeSpaceNormal;
smooth out vec3 vEyeSpacePosition;
void main() {
vEyeSpacePosition = (MV*vec4(vVertex,1)).xyz;
vEyeSpaceNormal = N*vNormal;
gl_Position = MVP*vec4(vVertex,1);
}
- 片段着色器计算 :在片段着色器中,计算眼空间中的光照位置,然后计算从眼空间顶点位置到眼空间光照位置的向量。在归
超级会员免费看
订阅专栏 解锁全文
46

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



