对于屏幕外呈现到纹理,我在附接安装GL_COLOR_ATTACHMENT0通过可以将GL_FLOAT纹理作为COLOR附件分配给FBO吗?
glTexImage2D限定的纹理(GL_TEXTURE_2D,0,GL_RGBA,宽度,高度,0,GL_RGBA,GL_FLOAT,NULL);
然后我使用输出vec4的片段着色器呈现给FBO,所以通常情况下应该没问题。要检查我正确显示纹理,我使用函数
glTexSubImage2D()
在纹理的中间添加一些灰色像素。纹理正确显示(我可以在正确的位置完美地看到这些像素),但纹理的其余部分只是嘈杂的伪像(当它不是黑色的时候)。
这是否来自我使用GL_FLOAT作为GL_RGBA纹理的事实?如果是的话,我怎么能在GLSL中将uvec4转换成vec4?我的主着色器的输出是vec4,我不知道如何将usampler2D纹理的uvec4输出转换为我的最终vec4。
感谢您可能提供:)
编辑任何回答:我找到了解决办法:我没有透明之间我的2呈现GL_COLOR_BUFFER_BIT。
哦,那时我弄错了。非常感谢你的回答,这可能解释为什么我的阴影映射不起作用:) – Tuxer