缺少OpenGL ES 2.0标头中的方法和常量

Dom*_*old 3 iphone opengl-es ipad ios

我开始学习OpenGL与iOS一起使用它.我想知道为什么类似glMatrixMode或常量的方法GL_PROJECTION存在<OpenGLES/ES1/gl.h>,但不是<OpenGLES/ES2/gl.h>.为什么?在使用OpenGL ES 2.0而不是1.1时,您是否强制编写自己的着色器?

Jus*_*ers 5

固定功能管道(包括内置矩阵)完全取自OpenGL ES 2.0,因此常量如GL_PROJECTION,以及glPushMatrix,glRotate,glMatrixMode等功能已被删除.

此更改要求您编写着色器并将自己的模型和投影矩阵传递/计算到它.虽然ES 2为您提供了更大的灵活性,但它也使得使用旧代码变得非常困难并且作为初学者开始使用.

如果您没有完全了解投影和模型矩阵,您可能希望坚持使用ES 1.

可在此处找到进一步说明的演示文稿