Почему значение транспонирования glUniformMatrix4fv в webgl / OpenGL ES должно быть ложным?

11

Почему значение транспонирования glUniformMatrix4fv в webgl / OpenGL ES должно быть ложным?

Спецификация OpenGL ES говорит, что значение транспонирования должно быть ложным или генерируется INVALID_VALUE. Зачем тогда этот параметр?

Рикард
источник

Ответы:

7

Параметр существует, потому что спецификация OpenGL ES соответствует спецификации OpenGL: OpenGL ES 2.0 определяется относительно спецификации OpenGL 2.0

В спецификации OpenGL этот параметр существует, следовательно, он также существует в спецификации OpenGL ES, даже если он не используется.

Джонатан Коннелл
источник
11

Поскольку OES является подмножеством стандартного OpenGL, и функции должны иметь одинаковые параметры в обеих реализациях. В OpenGL параметр transpose используется для указания того, находится ли матрица в мажорном ряду или в мажорном столбце, но поскольку OES поддерживает только мажорный столбец, он всегда должен иметь значение false.

r2d2rigo
источник
2
Обратите внимание, что OpenGL ES не является строгим подмножеством настольных GL. Хотя у обоих есть вызов функции glTexImage2D, параметры, которые они принимают (особенно формат пикселя), очень разные. Значения, которые являются законными в ES, являются недопустимыми в настольном GL, и наоборот.
Никол Болас