In diesem Artikel wird allgemein beschrieben, wie Sie scharfe OpenGL 2D-Grafiken mithilfe einer Pipeline mit festen Funktionen zeichnen.
Da in OpenGL ES 2.0 einige ES 1.x-Funktionen nicht verfügbar sind (z. B.: glOrtho ()), muss deren Funktionalität in Fragment- / Vertex-Shadern ersetzt werden.
Meine Frage ist, wie man die folgende 2D Projektion in der programmierbaren Funktionspipeline gründet?
const XSize = 640, YSize = 480
glMatrixMode (GL_PROJECTION)
glLoadIdentity ();
glOrtho (0, XSize, YSize, 0, 0, 1)
glMatrixMode (GL_MODELVIEW)
Wie müssen Fragment- und Vertex-Shader konfiguriert werden, um die oben beschriebene 2D-Projektionskonfiguration mit festen Funktionen vollständig zu ersetzen?
quelle
Aus dem glOrtho-Dokument mit ersetzten Werten:
Speichern Sie diese Matrix in einer Uniform, und Sie können sie dann auf Ihre eingehenden Eckpunkte anwenden (dh das Mv-Produkt ausführen).
quelle