2010-08-31 96 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