我想在不调用顶点/片段着色器的情况下修改我使用计算着色器看到的屏幕。计算着色器将使用数据,我想知道如何从计算着色器中调用此数据。 那我该怎么做呢?
答案 0 :(得分:4)
计算着色器只能访问图像或缓冲区。 default framebuffer既不是;它是一个特殊的对象,你不能将它的图像附加到任何东西。
然而,您可以创建纹理,通过计算着色器将其绑定到use as an image,并对其进行任何计算。然后,您可以(当the appropriate glMemoryBarrier
call之后)将该图像渲染为默认的帧缓冲区。