Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Triangle strip texturing (3 стр)

Triangle strip texturing (3 стр)

Поделиться

Страницы: 1 2 3

HybernaculumПостоялецwww8 ноя. 20171:40#30
FordPerfect
> Где-то вроде такого
Имплементация inverse bilinear interpolation от некого испанского программиста:
http://iquilezles.org/www/articles/ibilinear/ibilinear.htm

шейдер:
https://www.shadertoy.com/view/lsBSDm

MrShoorУчастникwww8 ноя. 20171:49#31
Hybernaculum
> от некого испанского программиста
Этот некий испанский программист уже на том уровне, что его вполне можно называть по нику: iq
SuslikМодераторwww8 ноя. 20171:55#32
MrShoor
> Накидал пример.
во, неплохо. а теперь самое интересное: насколько будут существенными артефакты, если трапеции будут не совсем трапециями? то есть если стороны будут не совсем параллельны?

Hybernaculum
> http://iquilezles.org/www/articles/ibilinear/ibilinear.htm
Hybernaculum
> Когда решите эту проблему
чувак, ты издеваешься что ли? в первом же посте уже это ответили. вопрос уже давным-давно перекочевал в то, как это эффективнее и устойчивее реализовать.

MrShoorУчастникwww8 ноя. 20172:04#33
Suslik
> то есть если стороны будут не совсем параллельны?
Артефакты будут. Но не совсем - это насколько?
Вот первый сегмент в ленте был ужат до 0.3:
strip03 | Triangle strip texturing
Ну и артефакт ровно тот же, с которым мы боролись. Поэтому я собственно писал, что у текущего метода ограничение - трапеции.

Правка: 8 ноя. 2017 2:05

FordPerfectПостоялецwww8 ноя. 20172:05#34
>испанского
>I was born and grew up in San Sebastián (a.k.a. Donostia), a beautiful city in the Basque Country, somewhere in Europe (Spain).
Не политика.

Тот код фейлит отмапить квадрат сам в себя.

HybernaculumПостоялецwww8 ноя. 20172:09#35
Suslik
> вопрос уже давным-давно перекочевал в то, как это эффективнее и устойчивее
> реализовать
И где ваш пример, пусть не самой эффективной и устойчивой, но реализации или ждёте когда готовый пример дадут для копипаста ?
FordPerfectПостоялецwww8 ноя. 20172:45#36
Ещё в моём коде проблема при b=0, copysign выдаёт рандомный корень.
Нужно отдельно обрабатывать: ответ +sqrt(c/a).
SuslikМодераторwww8 ноя. 20173:04#37
MrShoor
> Артефакты будут. Но не совсем - это насколько?
> Вот первый сегмент в ленте был ужат до 0.3:
мне главное — чтоб разрывов не было в случае небольшого отклонения от трапеции. то есть излом — нормально, но разрывов нет, это круто. думаю, я использую твоё решение.

Правка: 8 ноя. 2017 3:04

MrShoorУчастникwww8 ноя. 20173:12#38
Suslik
> мне главное — чтоб разрывов не было в случае небольшого отклонения от трапеции
А, ну разрывов там нет, излом да, будет, и чем больше отклонение, тем сильнее излом.
FordPerfectПостоялецwww8 ноя. 20174:11#39
Исправленная версия:
+ Показать

Просьба потестить.

Правка: 8 ноя. 2017 4:23

SuslikМодераторwww8 ноя. 20175:47#40
FordPerfect
мне тоже показалось, что после вычисления u, для вычисления v лучше снова решить квадратное уравнение, а не подстановкой, потому что при подстановке повяляется покомпонентная неустойчивость.
FordPerfectПостоялецwww8 ноя. 20176:58#41
На всякий случай, у меня порядок индексов:
C---D
|   |
|   |
|   |
A---B
Координаты:
A: u=0, v=0
B: u=1, v=0
C: u=0, v=1
D: u=1, v=1
MikleМодераторwww8 ноя. 20179:12#42
Suslik
> у меня d3d9 feature level, как-нибудь без геометрических шейдеров. полоска
> очень длинная, несколько десятков тысяч пикселей
На уровне d3d9 можно сделать без изломов и внутри квадов, и на границах, только понадобится кол-во дравколов, соответствующее кол-ву узловых точек. Поэтому я и спрашивал о длине ленты в узловых точках, а не в пикселях.
SuslikМодераторwww8 ноя. 201710:22#43
Mikle
> только понадобится кол-во дравколов, соответствующее кол-ву узловых точек
не, не покатит. точек — несколько тысяч.

Страницы: 1 2 3

/ Форум / Программирование игр / Графика

2001—2017 © GameDev.ru — Разработка игр