wat
> Что-то сомнительно, что точка в центре пофиксит проблему на 100%. Покаж
> результат.
Я проверил. Вышло так себе:

Очень странно, что программеры с геймдева никогда не сталкивались с этой фундаментальной проблемой. Коррекция текстурных координат по типу перспективной даст заметное растяжение со стороны широкой стороны в случае трапеции, потому это решение неприменимо в общем случае. Народ вот через тесселяцию изголяется %)

>Что-то сомнительно, что точка в центре пофиксит проблему на 100%.
Фиксит на 100%, я только две недели назад с этим трахался (у раньше меня весь гуй на GL_QUADS и GL_LINE_LOOP был, для поддержки GLES2 пришлось их слать лесом)
>Покаж результат.
Лень.
Проделайте мысленное упражнение - и сами убедитесь.
>Я проверил. Вышло так себе:
Ммммммать :( :( :(
Вот что значит - проверять на текстуре, у которой вариация только поперёк.
Мне надо менять алгоритм теперь :(
Да надо эту трапецию порезать на равные треугольники.
g-cont
исправит большие артефакты, но останутся мелкие искажения пропорциональные кол-ву треугольников (см видео)
XProger
ну значит нарисовать трапецию на текстуре и вывести обычный квад. Всю жизнь так делали и ничего.
g-cont
ты, видимо, слишком поздно графикой начал заниматься, раньше трапецией и прочими разносторонними четырёхугольниками не брезговали и для квадратных текстур :)
Cheb вот рассказывает, как он решил эту задачу, но на самом деле ему просто так кажется.

XProger
> Очень странно, что программеры с геймдева никогда не сталкивались с этой
> фундаментальной проблемой.
Очень странно, что какие-то ньюбы на геймдеве, брезгующие использовать поиск по форуму, обвиняют
программеров с геймдева в том, что они никогда не сталкивались с этой фундаментальной проблемой.
>>раньше трапецией и прочими разносторонними четырёхугольниками не брезговали и для квадратных текстур :)
Ну например где и для чего?
А через текстурную матрицу пробывали?
Hybernaculum
так XProger вроде не нуб. Я помню он в 2004-м еще движок писал на паскале, с игроком из дуума чтоли.
g-cont
> так XProger вроде не нуб.
Тем более.
Hybernaculum
Такое ощущение, что у тебя либо амнезия, либо ник куплен)
Небось и NULL_PTR не помнишь?)
g-cont
Конкретно у меня встала такая задача при имплементации движка Tomb Raider, там большая часть всей геометрии сделана четырёхугольниками с натянутыми на них прямоугольными текстурами. В древнем софтовом и PSX рендере всё натягивается относительно хорошо, несмотря на отсутствие перспективной коррекции. А вот с современным OGL возникают проблемы, т.к. каждый квад приходится триангулировать, и дальше они уже обрабатываются независимо, фактически искажая текстуру при выборке до параллелограмма, а не оригинального четырёхугольника.
Ссылки по теме:
http://www.reedbeta.com/blog/quadrilateral-interpolation-part-1/
http://www.reedbeta.com/blog/quadrilateral-interpolation-part-2/
http://iquilezles.org/www/articles/ibilinear/ibilinear.htm
>>каждый квад приходится триангулировать
Такой вопрос - будет ли разница при отрисовке через GL_TRIANGLES и GL_QUADS? А вообще я не помню, первый TombRaider разве никогда не имел аппаратного рендера?
g-cont
> Такой вопрос - будет ли разница при отрисовке через GL_TRIANGLES и GL_QUADS? А
> вообще я не помню, первый TombRaider разве никогда не имел аппаратного рендера?
Имел глайд в вышедшем позже специздании (причем софтрендер в нем был выключен,мол, лакшери, строго для тогдашних состоятельных парней)
Тема в архиве.