
4. GLSL 代码实现
在着色器中,将深度缓冲值转换为线性深度:
float LinearizeDepth(float depth, float near, float far) {
// OpenGL 的 NDC 深度范围是 [-1, 1],需转换
float z_ndc = 2.0 * depth - 1.0;
// 计算线性深度
return (2.0 * near * far) / (far + near - z_ndc * (far - near));
}

302

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



