2012-02-06 41 views
0

對不起我的英文不好。用opengl es iOS全屏動畫

我在內存中創建了一個iPad全屏大小爲1024 * 768 * 4字節的位圖緩衝區作爲屏幕外緩衝區和2個線程,其中一個更新緩衝區並調用performSelector setNeedsDisplay在其他線程上,另一個線程畫圖每個drawRect循環中屏幕上的整個緩衝區。

但這種方式太慢了。所以我想通過將其更改爲OpenGL ES 2.0實現來提高性能。

我的想法是創建一個全屏幕紋理,使用CADisplayLink每1/60秒觸發一個drawView選擇器,通過內存緩衝區更新紋理並在屏幕上繪製紋理。但我是opengl-es的新手,我知道如何初始化一個簡單的EAGLLayer,從數據創建紋理,但我不知道如何在視圖上繪製紋理,任何人都可以給出樣本?

+0

「給我代碼」類型的問題在這裏並不真正支持。 – Hyperbole 2012-02-06 20:28:31

+0

從Xcode模板創建一個OpenGL ES項目,它將設置一切。或退房Cocos2d – 2012-02-06 20:54:04

回答

1

OpenGL ES 2.0對於渲染紋理太多了。 OpenGL ES 1.1就足夠了。使用着色器並不意味着它會更快。要創建全屏紋理,請使用兩個三角形,座標從-1.0到1.0,並應用紋理。

+0

感謝您的建議,我會嘗試。 – ChikaneHimeko 2012-02-07 16:29:22