[英]OpenGL SetPixel with a fragment shader
因此,我正在尝试修改Sprite的特定像素。 目前,我已经通过创建自己的SetPixel(int x, int y, Color color)
函数来使其工作。 它通过修改纹理的info(RGBA值)并将其传递给sprite来工作。 但这很慢:
这个问题对我来说很重要。 如何使用着色器来修改特定像素? 我只能修改每个顶点的颜色,这不是我想要的。
有什么建议么?
首先,您不必上载所有纹理,并且在每次像素更新后都不需要上载。 您可以使用glCopyTextSubImage
缓存更改并更新最小的矩形。
如果您真的想尝试GPU更新,则可以使用计算着色器(但是,某些旧硬件不支持它们)或将纹理数据绑定为SSBO并直接写入其中,而无需使用单独的帧缓冲区对象。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.