2012-12-03 97 views
0

儘管我在技術上與OpenGL 2.0 ES一起在android平臺上工作,但我相信這可以應用於更多的OpenGL技術。正確處理繪製多個對象?

我有一個對象列表(敵人,角色等),我試圖畫在網格上,每個空間是1x1,每個對象匹配。目前,每個對象都是自我翻譯的......也就是說,它將採用它的模型座標並通過一個簡單的循環來調整它們,使其位於適當網格位置的世界座標中。 (即如果它應該在(3,2)將相應地翻譯它的座標

我已經達到的問題是我不知道如何有效地繪製它們。我有一個循環遍歷所有對象並調用每個對象的繪製,類似於android教程,但這似乎非常無效。

這些對象每個紋理都帶有它們自己的方形圖像,匹配它們填充的1x1網格,它們可能永遠不需要它們自己獨特的着色器,所以似乎在對象之間改變的唯一東西就是頂點和着色器。

有沒有一種有效的方法可以讓每個模型進入管道而不會由於統一的通道而沖洗水電站?

回答

2

這可能需要一些嘗試和錯誤過程,可能是硬件相關的。我將使用緩衝對象作爲GL_STATIC_DRAW的網格物體,將一些紋理包裝在更大的紋理中,並根據批量中較大的紋理繪製所有對象,以儘可能避免狀態更改。配置文件,讓我們獲得更多關於瓶頸位置的信息。

+0

哪裏可以找到一個體面的分析器的android應用程序? –

+1

每種架構都有一個,Adreno SDK,Tegra SDK等。 – Trax