2010-11-28 25 views
3

我開始學習OpenGL以便在iOS中使用它。我想知道爲什麼像glMatrixMode這樣的方法或GL_PROJECTION這樣的常量在<OpenGLES/ES1/gl.h>中存在,但不在<OpenGLES/ES2/gl.h>中。爲什麼?在使用OpenGL ES 2.0而不是1.1時,你是否強制編寫自己的着色器?OpenGL ES 2.0頭文件中缺少方法和常量

回答

5

固定功能流水線,包括內置矩陣完全從OpenGL ES 2.0中移除,所以像GL_PROJECTION這樣的常量和諸如glPushMatrix,glRotate,glMatrixMode等函數已被刪除。

此更改要求您編寫着色器,並向其傳遞/計算您自己的模型和投影矩陣。雖然ES 2爲您提供了更多的靈活性,但它也使得使用舊代碼非常困難,並開始作爲初學者。

如果你不具備怎樣的投影和模型矩陣,你可能要堅持用ES充分的瞭解1.

了進一步的解釋,展現可以here

+0

其實我只是發現希望使用OpenGL將預先計算的像素快速顯示在屏幕上。所以我應該堅持使用ES1.1? – 2010-11-28 22:15:53