我正在爲Android編寫完全原生的OpenGL ES 2.0遊戲引擎。此前我使用三星Galaxy S(Android 2.3.3)開發,現在使用三星Galaxy S II(更新至Android 4.0.3)。我沒有在Galaxy S II上嘗試引擎,但它仍然有Android 2.3.3(硬件特定問題?)。Android 4.0.3上不顯示OpenGL ES 2.0
現在引擎在Android 2.3.3上運行並呈現良好(在Galaxy S上測試過),但它並未在Android 4.0.3上呈現(在Galaxy S II上進行測試)。問題與此類似:OpenGL Renderer not working on Ice Cream Sandwich
除了渲染之外,其他所有操作在4.0.3上都沒有問題,屏幕上沒有任何內容出現。我設法在4.0.3上渲染一個三角形,但從模型中提取的頂點不會渲染(使用glDrawElements()),有或沒有紋理。
我希望有一個簡單的解決方案。
乾杯
檢查*所有* GL調用錯誤。檢查日誌中是否有可疑條目。 –
謝謝@stefan,我應該早些時候檢查GL錯誤。問題出現在glDrawElements()中,我使用GL_UNSIGNED_INT(GL_UNSIGNED_BYTE和GL_UNSIGNED_SHORT只是允許的值)。 Android 2.3.3似乎並不關心這一點。我將其更改爲GL_UNSIGNED_SHORT,現在它完美地工作:) – Devenec