2

我想更改已附加到着色器的纹理上的单个像素。必须有一个简单的功能。

tex2D(sampler,uv) 用于读取并返回像素颜色。我需要一个函数来操纵像素颜色并将其写回到纹理上。这应该不难,但我找不到。

4

1 回答 1

5

这不应该那么困难

是的,应该是。

任意写入纹理并不是一件微不足道或简单的事情。信息在 OpenGL 中以非常特定的方向流动:进入着色器。着色器允许的唯一输出(通常)是实际的着色器输出变量。例如,这就是您写入帧缓冲区的方式。顶点/几何着色器输出也可以用于变换反馈缓冲区。

现在,如果您有 GL 4.x 级硬件,您可以使用ARB_shader_image_load_store(这是 GL 4.2 中的核心)写入图像。但是,在您打开它的那一刻,您全权负责同步对内存的访问

于 2012-12-03T15:51:41.947 回答