1

我正在尝试实现阴影映射,所以我正在渲染深度纹理。当我不绑定包含深度纹理的帧缓冲区并使用默认帧缓冲区时,它会输出到屏幕。然而,远处的碎片不是白色的,而是红色的。

这是我的片段着色器:

#version 330 

out float fragmentdepth;
uniform sampler2D inputTex;

void main(){
fragmentdepth = gl_FragCoord.z;
}

这是个问题吗?因为阴影映射不起作用,我想排除这个问题的根源。

4

1 回答 1

2

深度是一个标量值。标量被 OpenGL 解释为单分量纹理。单组件纹理意味着只有.xor.r元素(无论您使用什么)变得非零。

于 2013-10-21T16:58:26.000 回答