我正在使用附加FBO和纹理的“渲染到纹理”功能。
我的问题是在片段着色器中我不知道如何写入2D纹理的特定行。我确实有哪一行的信息(由一个统一的浮点变量表示),但我不知道如何在那里绘制。
这可能吗?或者,知道碎片着色器中我的位置的好方法是什么?
我的全球想法是将1D纹理从上到下渲染为2D纹理。每个进化步骤由片段着色器计算(usiong渲染到纹理乒乓方法,有2个FBO)
答案 0 :(得分:1)
我认为片段着色器不适合这个。
如果您只想写入FBO的一行,是否不能将绘制调用的顶点设置为仅重叠您想要绘制的像素?
答案 1 :(得分:1)
您可以在片段着色器中使用discard;
来丢弃您不想要的片段。像
if (gl_FragCoord.y != row_to_keep)
discard;
然后正常渲染你的场景,你最终只会输出一行输出。