2011-09-27 152 views
1

我現在有一個OpenGLES 1.0引擎具有非常大的代碼庫,而我在遷移到OpenGLES 2.0從Opengles 1.0到Opengles 2.0的Android移植,紋理?

由於this的過程中,我已經能夠得到過去缺的矩陣障礙,但在繼續更改數千行代碼之前,我想知道一些Google無法找到的東西。

第一個,是否有應用紋理的過程?我知道舊的固定管道爲你做了很多骯髒的工作,但我不知道紋理是否屬於這一部分。我還需要爲它創建着色器嗎? (認爲​​glTexEnvf,glTexParameter,glBindTexture等)

第二個,有混合模式有任何變化,或者也將需要自定義着色器?

第三,對glDrawElements有什麼重要的改變? (換句話說,我現有的電話會不經修改地工作)

第四,任何人都可以推薦一些好的書或教程,學習如何使着色器以及它們如何工作?我從互聯網上的大量iPhone教程和上面鏈接的教程中學到了很多東西,但後者不包含任何深入的解釋,前者不包含任何Android代碼,而且我新到着色> _ <

回答

0
  1. 觀光樣結合紋理和glTexParameter S(像過濾或包裝模式)工作像以前一樣。但是您現在必須自己在片段着色器中執行紋理應用程序。所以你現在基本上自己實現了glTexEnv

  2. 混合像以前一樣工作。這些操作在片段着色器後以與ES 1相同的方式完成。

  3. 不是glDrawElements本身。但是現在您必須使用自定義頂點屬性和相應的頂點着色器來處理它們,而不是來自ES 1的內置屬性(如頂點,法線,顏色...)。