Warum muss der Transponierungswert von glUniformMatrix4fv in webgl / OpenGL ES falsch sein?

11

Warum muss der Transponierungswert von glUniformMatrix4fv in webgl / OpenGL ES falsch sein?

Die OpenGL ES-Spezifikation besagt, dass der Transponierungswert falsch sein muss oder ein INVALID_VALUE generiert wird. Warum dann den Parameter haben?

Rickard
quelle

Antworten:

11

Da OES eine Teilmenge von Standard-OpenGL ist und die Funktionen in beiden Implementierungen dieselben Parameter haben müssen. In OpenGL wird der Parameter transponieren verwendet, um anzugeben, ob die Matrix in Zeilen- oder Spalten-Hauptreihenfolge vorliegt. Da OES jedoch nur Spalten-Haupt unterstützt, muss sie immer falsch sein.

r2d2rigo
quelle
2
Beachten Sie, dass OpenGL ES keine strikte Teilmenge des Desktop-GL ist. Während beide einen Funktionsaufruf glTexImage2D haben, sind die von ihnen verwendeten Parameter (insbesondere das Pixelformat) sehr unterschiedlich. Werte, die in ES legal sind, sind in Desktop-GL illegal und umgekehrt.
Nicol Bolas