2010-11-28 7 views
3

Ich beginne, OpenGL für die Verwendung mit iOS zu lernen. Ich frage mich, warum Methoden wie glMatrixMode oder Konstanten wie GL_PROJECTION in <OpenGLES/ES1/gl.h> sind, aber nicht in <OpenGLES/ES2/gl.h>. Warum? Erzwingen Sie, dass Sie Ihre eigenen Shader schreiben, wenn Sie OpenGL ES 2.0 anstelle von 1.1 verwenden?Fehlende Methoden und Konstanten in OpenGL ES 2.0-Headern

Antwort

5

Die Fixed-Funktionspipeline, einschließlich der eingebauten Matrizen, wurde komplett aus OpenGL ES 2.0 entfernt, so dass Konstanten wie GL_PROJECTION und Funktionen wie glPushMatrix, glRotate, glMatrixMode usw. entfernt wurden.

Diese Änderung erfordert, dass Sie Shader schreiben und Ihre eigenen Modell- und Projektionsmatrizen daran übergeben/berechnen. Während ES 2 Ihnen viel mehr Flexibilität bietet, macht es auch sehr schwierig, mit älterem Code zu arbeiten und als Anfänger anzufangen.

Wenn Sie nicht über ein umfassendes Verständnis davon, wie die Projektion und Modell Matrizen Sie können mit ES-Stick 1.

Eine Präsentation mit einer weiteren Erklärung kann here

+0

ich eigentlich nur gefunden werden möchte mit OpenGL vorberechnete Pixel schnell auf den Bildschirm rendern. Also sollte ich einfach bei ES1.1 bleiben? –

+0

Tough benötigen Sie eine 3D-Projektion? –

+0

Können sie durch eine Textur dargestellt werden? –