В моем previous question было установлено, что при текстурировании квадрата лицо разбивается на треугольники и текстурные координаты, интерполированные аффинным образом.Линейное/нелинейное отображение текстур искаженного квадрата
К сожалению, я не знаю, как это исправить. Полезен provided link, но он не дает желаемого эффекта. Автор заключает: «Обратите внимание, что изображение выглядит так, будто это длинный прямоугольный квадрат, простирающийся на расстояние ... Это может стать довольно запутанным ... из-за« ложного восприятия глубины », которое это производит».
Что бы я хотел сделать, это сохранить текстуру, чтобы сохранить исходное масштабирование текстуры. Например, в трапециевидном корпусе я хочу, чтобы вертикальное расстояние между текселями было одинаковым (пример, созданный с помощью программы рисования):
Обратите внимание, что в силу того, что вертикальное расстояние идентично, все же очевидное искажение квада , прямые линии в пространстве текстуры больше не являются прямыми линиями в мировом пространстве. Таким образом, я считаю, что требуемое отображение является нелинейным.
Вопрос в том, возможно ли это в фиксированной функции трубопровод? Я даже не уверен, что именно «правильный ответ» для более общих квадов; Я полагаю, что интерполяционные функции могут очень быстро усложниться, и я понимаю, что «сохранить исходное масштабирование» - это не совсем алгоритм. Треугольники пространства мира больше не являются линейными в пространстве текстур.
Как и в сторону, я не действительно понять 3 -е и 4-й координаты текстуры; если кто-то может указать мне на ресурс, это было бы здорово.