将像素渲染为纹理

我需要使用Android上的OpenGL ES 2.0呈现动态变化的像素。

我有一个方法可以产生宽度*高度的颜色数组(RGBA,4 * GLubyte)。 另外还有PutPixel(x,y,color)方法,用于替换具有(x,y)坐标的阵列中的像素颜色。

我的解决方案是:每个Draw()方法调用我调用BindTexture,glTexImage2D使用数组作为纹理源,然后在完整视口上的平面上渲染此纹理。

这是一个正确的方式吗? 或者有另一个更好的解决方案?


您的方法可能会产生足够满足您需求的性能,特别是如果您的宽度*高度小于全屏分辨率。 它也有一个非常简单的美德。

但是,一般来说,如果您可以在游戏过程中减少CPU和GPU之间的传输大小,那么性能会更好。

假设你永远不需要读取CPU上的像素颜色,并且通常每帧只渲染几个像素,那么最好的办法可能是使用渲染到纹理的方法。 本质上你创建一个宽度*高度可渲染的纹理,并让你的PutPixel函数在纹理中渲染彩色点(分批渲染以减少绘制调用)。

链接地址: http://www.djcxy.com/p/33913.html

上一篇: Render pixels to texture

下一篇: iOS Rendering a object to a texture