/A\
> Способ этот оказался не очень: нет увеличения детализации вблизи и уменьшение
> вдали,
ну так не кто же не сказал, что можно только отдельности оптимизации делать :)
> А линейный буфер достаточно хорош, только вблизи дает искажения.
зачем тебе сие безобразие нужно ?
сделай в демке помощь по клавишам - неудобно, и текущую технику пиши пожалуйста :)
innuendo
> зачем тебе сие безобразие нужно ?
Ну так для борьбы с z-fighting'ом :)
innuendo
> сделай в демке помощь по клавишам - неудобно, и текущую технику пиши пожалуйста :)
ок
/A\
> > зачем тебе сие безобразие нужно ?
> Ну так для борьбы с z-fighting'ом :)
а с линейным z-fighting полностью исчезнет ?
innuendo
> а с линейным z-fighting полностью исчезнет ?
Станет намного меньше. При наложении двух ландшафтов с разницей 0.001 по высоте нелинейный z-буфер дает мелькание всех полигонов дальше 50, а линейный только тонкие полоски и иногда редкие треугольники, если сравнивать по площади z-fighting'а, то разница будет в десятки раз.
/A\
это понятно, непонятно - зачем накладывать два ландшафта :)
innuendo
> это понятно, непонятно - зачем накладывать два ландшафта :)
Так быстрее всего сделать z-fighting
линеризацией z-fighting не победить, только частные случаи.
Меня больше интересует вопрос дополнительной тесселяции для GPU Geometry Clipmaps. Т.е. дальнейшее развитие алгоритма путем превращения его из вложенных регулярных сеток во вложенные квазирегулярные сетки
m2codeGEN
> Меня больше интересует вопрос дополнительной тесселяции для GPU Geometry
> Clipmaps. Т.е. дальнейшее развитие алгоритма путем превращения его из вложенных
> регулярных сеток во вложенные квазирегулярные сетки
э... вариант ACC не поможет ?
m2codeGEN
> Меня больше интересует вопрос дополнительной тесселяции для GPU Geometry
> Clipmaps. Т.е. дальнейшее развитие алгоритма путем превращения его из вложенных
> регулярных сеток во вложенные квазирегулярные сетки
В этой статье была только линейная интерполяция, для случаев, когда размер сетки равен разрешению карты высот лучше подходят PN-triangles, Bezier patches и более сложные типа Грегори, ААС и других, хотя они предназанченны для мешей, для ланшафта хватит и первых двух.
Я когда реализовывал Geometry Clipmaps планировал использовать текстуру с уровнем тесселяции для каждого слоя или для первых двух и домножать на коэффициенты в зависимости от слоя, расстояния и тд.
Релиз следующей статьи сильно затягивается, поэтому выкладываю часть примеров: скачать.
Управление смотреть в readme.txt.
Пример состоит из двух частей:
1 - сравнение разных режимов тесселяции для треугольных и квадратных патчей.
2 - сглаживание ландшафта с помощью поверхностей: Bezier patches, PN-Triangles, Phong tessellation.
/A\
> Phong tessellation.
ого, зажги про это дело :)
> PN-Triangles
который простой или с коррекцией щелей ?
innuendo
> ого, зажги про это дело :)
Мне Phong tessellation не очень понравилось: появляются гребни на резких перепадах высот (такая же проблема есть и на Bezier patches), но производительность в 1.5 раза больше чем PN-Triangles. Зато на некоторых мешах phong tessellation по качеству не уступает PN-triangles и лучше получается круглые объекты.
> который простой или с коррекцией щелей ?
простой, коррекцию щелей не придумал как сделать...
/A\
показывай, пожалуйста, с wireframe
innuendo
> показывай, пожалуйста, с wireframe
с wireframe получается каша из линий, поэтому добавил скриншот без тесселяции
/A\
> > показывай, пожалуйста, с wireframe
> с wireframe получается каша из линий, поэтому добавил скриншот без тесселяции
а без плохо видны ребра - как и что там тесселируется
> > который простой или с коррекцией щелей ?
> простой, коррекцию щелей не придумал как сделать...
nvsdk11 - там пример с коррекцией
Тема в архиве.