使用FBO的正常纹理不正确

时间:2013-07-11 17:15:10

标签: opengl rendering shader framebuffer lighting

我有多个渲染目标的奇怪问题。我在我的FBO上附加了3个纹理:颜色,正常和位置。我可以正确渲染颜色和位置,但渲染正常纹理产量(绿色和红色是旋转立方体的一部分):

enter image description here

在左下角,将正常纹理渲染为四边形。

在我的顶点着色器中,我正常计算为:normal = gl_NormalMatrix * gl_Normal,在我的片段着色器中,我将其发射为:gl_FragData[1] = vec4(normal, 1);

这里有什么问题?

1 个答案:

答案 0 :(得分:0)

原来我忘了为渲染的四边形提供法线。添加glNormal3f()次来电可以解决问题。