2011-09-27 113 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的内置属性(如顶点,法线,颜色...)。