uvec2片段着色器输出的哪个组合

Posted

技术标签:

【中文标题】uvec2片段着色器输出的哪个组合【英文标题】:Which combination for uvec2 fragment shader output 【发布时间】:2013-07-06 16:02:17 【问题描述】:

我一直在尝试将无符号值 R 和 G 输出到 GL_COLOR_ATTACHMENT1。纹理是用这些 格式 / 内部格式 / 类型设置的> :

GL_RG / GL_RG8UI / GL_UNSIGNED_INT

我也尝试过使用GL_UNSIGNED_BYTE,但结果相同:帧缓冲区不完整。

我以这种方式在片段着色器中输出:

layout (location = 0) vec3 nofrag;
layout (location = 1) uvec2 matfrag;

有什么想法吗?我认为GL_UNSIGNED_INT_8_8_8_8 会更好:好吧,这绝对不是……

【问题讨论】:

你能贴出你如何创建 FBO 并渲染到上面的代码吗? 【参考方案1】:

解决了!谢谢你,glYoda!解决方案如下:

GL_RG_INTEGER / GL_RG8UI / GL_UNSIGNED_BYTE

我认为 GL_UNSIGNED_INT 也不错,但是自从 GL*8*UINT 之后,BYTE 就更好了。

【讨论】:

以上是关于uvec2片段着色器输出的哪个组合的主要内容,如果未能解决你的问题,请参考以下文章

片段着色器输出干扰条件语句

为啥 gl_Color 不是片段着色器的内置变量?

在片段着色器中输出数据时切换布局位置

GLSL:使用片段着色器进行对象翻译

初识OpenGL 片段着色器(Fragment Shader)

初识OpenGL 片段着色器(Fragment Shader)