В OpenGL 2.1 безопасно ли использовать трехмерные координаты текса, даже в двухмерном пространстве (с двухмерной текстурой)?

Можно ли использовать функцию координат 3D-текса для 2D-текстур, установив значение Z в 0 в OpenGL 2.1? Есть ли 3D-функции, которые я не могу использовать для 2D? Я не могу использовать 2D-функции, потому что это для 2D / 3D-оболочки, и слишком неэффективно пытаться угадать, вводит ли пользователь 2D или 3D-координаты, когда обе функции можно использовать вместе.

0

Решение

Это будет звучать смешно, но все координаты текстур в OpenGL всегда 4D. Как и позиции вершин.

Чтобы лучше объяснить это, рассмотрим устаревшую функцию, такую ​​как glTexCoord2f (...) — автоматически присваивает r знак равно 0.0 а также q знак равно 1,0. Это поведение распространяется на вершинные массивы, если у вас есть координатный указатель текстуры, который предоставляет только 2 компонента, GL автоматически назначает 0.0 а также 1,0 на оставшиеся 2, как показано выше.

Я бы предложил вам использовать номенклатуру strq при ссылке на координаты текстуры, кстати. Вы можете получить к ним доступ как xyzw в шейдере, но конвейер (с фиксированной функцией) всегда документируется как ссылка на них strq,

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]