2011-06-15 163 views
1

我被要求爲我們的Android引擎創建着色器,我有點困惑。到目前爲止,引擎已經建立在我們使用GL10實例負責繪製所有內容的前提下。但是因爲着色器是OpenGL 2.0,如果我要將上下文客戶端版本設置爲2.0並繪製一個簡單場景(比如一個立方體),則不會顯示任何內容,而如果使用默認值1.0則會出現任何內容。Android混合OpenGLES 1.0和OpenGLES 2.0

我不完全確定我應該如何繼續 - 我是否需要根據設備支持的最高級別的OpenGLES創建不同的引擎?儘可能使用higest,不管它能支持什麼(假設向後兼容)?

讚賞任何幫助/建議......

回答

5

的OpenGL ES 2.x的不符合OpenGL ES的1.x的向下兼容你必須編寫不同的代碼來支持它們。

+0

好的情況下,任何人都好奇。 我寫了一個靜態類來確定啓動時手機的功能,通過捕獲NoSuchMethodErrors考慮誤報。基於結果,我使用單個渲染器和引擎版本,並應用特定的指令,即如果它可以有可編程的管道然後使用它,否則使用固定的管道。 – batterj2 2011-06-20 15:41:43