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

0

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

Теги:
opengl
wrapper

1 ответ

2

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

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню