Ах, ты прав. Я повторно использовал термин из соответствующего поста, не задумываясь об этом. Я обновил свой ответ, чтобы использовать правильную терминологию.

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

Обычно я загружаю текстуру для вычисления гомографии, но это требует много работы и дополнительной библиотеки линейного программирования / функции прямого линейного преобразования. У меня сложилось впечатление, что OpenGL может упростить этот процесс для меня.

Я посмотрел в Интернете и видел«Перспективное правильное текстурирование, Q-координаты и GLSL» а также«Перекошенное / сдвоенное наложение текстур в OpenGL».

Похоже, что все они предполагают, что вы будете делать какие-то гомографические вычисления или использовать некоторые части OpenGL, о которых я ничего не знаю ... любой совет?

Обновить:

Я читаю«Навигация в статических средах с использованием упрощения пространства изображений и морфинга» [PDF] - стр. 9 приложение А.

Похоже, что они отключают коррекцию перспективы, умножая координату текстуры (s, t, r, q) на вершину z-компонента компонента мирового пространства модели.

поэтому для заданной координаты текстуры (s, r, t, q) для квадрата, который имеет форму трапеции, где 4 компонента:

(0.0f, 0.0f, 0.0f, 1.0f),
(0.0f, 1.0f, 0.0f, 1.0f),
(1.0f, 1.0f, 0.0f, 1.0f),
(1.0f, 0.0f, 0.0f, 1.0f) 

Это так же просто, как glTexCoord4f (svert.z, rvert.z, t, q * vert.z)? Или я пропускаю какой-то шаг? как возиться с GL_TEXTURE glMatrixMode?

Обновление № 2:

Это сделало трюк! Имейте это в виду, ребята, эта проблема во всем Интернете, и не было никаких простых ответов. Большинство из них связаны с прямым пересчетом текстуры с гомографией между исходной формой и преобразованной формой ... много линейной алгебры и внешней зависимостью от BLAS-библиотеки.

Ответы на вопрос(2)

Ваш ответ на вопрос