【发布时间】:2016-05-29 17:57:42
【问题描述】:
我想在不调用顶点/片段着色器的情况下修改我使用计算着色器看到的屏幕。计算着色器将使用数据,我想知道如何从计算着色器中调用这些数据。 那我该怎么做呢?
【问题讨论】:
-
仅供参考:如果您正在学习 OpenGL,计算着色器可能不是开始的地方。
-
我不是为了学习opengl而学习opengl,我只是想学习opengl的特定部分以解决我的问题
我想在不调用顶点/片段着色器的情况下修改我使用计算着色器看到的屏幕。计算着色器将使用数据,我想知道如何从计算着色器中调用这些数据。 那我该怎么做呢?
【问题讨论】:
计算着色器只能访问图像或缓冲区。 default framebuffer 两者都不是;它是一个特殊的物体,你不能将它的图像附加到任何东西上。
但是,您可以创建纹理,通过计算着色器为use as an image 绑定它,然后对其进行任何您希望的计算。然后,您可以(当然是在the appropriate glMemoryBarrier call 之后)将该图像渲染到默认帧缓冲区。
【讨论】: