2010-01-28 40 views
1

我正在開發一個可愛的益智應用程序 - http://gotoandplay.freeblog.hu/categories/compactTangram/- ,由於性能原因,我決定使用OpenGL渲染視圖。我開始學習它,我以一種非常基本的方式使用緩衝區,頂點和紋理。如何組織OpenGL ES 1.x 2D圖層樹?

局勢: 在遊戲中用戶操縱7個puzzlePiece,每個人都有5個子層獲得一些漂亮的照明感覺。大多數紋理是256x256。用戶一次只能操作一件,所以其餘部分在播放期間不變。應用程序沒有任何圖形這裏的一個骨架:http://gotoandplay.freeblog.hu/archives/2009/11/11/compactTangram_v10_-_puzzle_completement_test/

問題: 我應該如何安排呢?在單獨的幀緩衝區(?)/紋理(?)中「預渲染」實際的塊狀態是一個好主意,或者我可以簡單地在時間步驟中重繪每個塊/層(1 + 7 * 5 = 36個精靈)?如果我使用「預繪」,那我該怎麼辦?繪製到puzzePiece framebuffer?那我怎樣才能將它繪製到場景framebuffer中呢?還是有更簡單的方式來「合併」紋理?

希望你能理解我的問題,如果看起來太暗淡請看看我的想法是如何在我的博客中呈現實際作品(這裏有一個簡單的flash實現我將要做的): http://gotoandplay.freeblog.hu/archives/2010/01/07/compactTangram_072_-_tan_rendering_labs/

+0

東西glCopyTexSubImage2D?或者glCopyTexImage2D?我只想將5個紋理合併到一個具有變量subTexture屬性的紋理中,我想。 – Geri 2010-01-28 12:29:16

回答

0

處理紋理的常見方法是在遊戲/關卡開始時將所有圖像打包到「紋理地圖集」中。

您的最大紋理尺寸是1024x1024,您可以在iPhone上的內存中有三個左右。

當你在這些「超級紋理」中的所有圖像,你可以繪製大紋理的相關區域。這樣做的好處是,您必須減少綁定紋理的次數,並且獲得更好的性能,同時也可以切割出由於必須將小圖像放入兩個大小的紋理中而使用的多餘空間。

+0

我的問題是錯的。 – Geri 2010-01-28 15:32:21