2010-08-31 73 views
1

每个人都有坏消息!iOS上的快速软件渲染

我试图将旧的Windows游戏移植到iPad,并且出现问题。所有图形都是在没有硬件加速的情况下编写的在Windows上,它使用IDirect3DSurface8类的LockRect()调用从backbuffer获取色彩缓冲并写入一些图形数据。之后,它使用UnlockRect将我们的像素颜色数据发送到视频内存。但是OpenGL ES没有这样的功能。我试图效仿这个。我有一个阵列,我使用glTexImage2D()然后glDrawTexfOES(0, 0, 0, 1024, 768)

使用glTexImage2D()绘制每个游戏圆形但是从数组创建一个纹理太慢。我怎么能做得更快?提前致谢。

+0

如果您取出所有图形数据编写代码,您可以使用glTexImage2D()每帧(或每隔一帧)创建新纹理多快?你能做30或60帧/秒吗? – hotpaw2 2010-08-31 16:27:17

+0

代码不好,所以可能很难知道它。但我可以说,如果不创造质感,每一个圆满的FPS几乎翻倍。 – XRazont 2010-08-31 16:41:05

回答

1

尝试渲染纹理四边形,并使用glTexSubImage2D()进行纹理重新上传。

+0

是的,glTexSubImage2D只是替换数据,而使用glTexImage2D重新分配数据。它应该更快。 – 2010-08-31 17:04:44