Простейший способ избежать разрывов ландшафта на границе различных уровней детализации.
Примечание: данный метод можно использовать «для начала», а решать проблему все-таки более правильными методами (доп. треугольники, и т.д.)
Суть сей тривиальной проблемы демонстрируют следующие два изображения.
Как видно, на участке с более высокой детализацией тот же фрагмент представлен уже не одним треугольником, а парой — отсюда разрывы в ландшафте или как их еще называют «крэки».
Традиционно для «склеивания» ландшафта предлагают стягивать вершины или производить какие-либо еще дополнительные действия.
Мое решение состоит в усреденении Z-координаты граничных вершин (A1+A2)/2.
Плюсы:
- не нарушается строение патчей,
- нет необходимости что-либо переписывать в коде отрисовки/формирования ландшафта.
Минусы:
- небольшое количество вырожденных вершин,
- из-за ошибки усреднения на вещественных операциях (A1+A2)/2 иногда появляются пиксельные артефакты — 'мушки', впрочем, проблема эта решается за счет использования вещественных чисел большей точночти или дискретного представления Z-координаты (в целых числах).
Ниччего непонятно!
Что такое А1 и А2?
Как введена система координат? (т.е. в какую сторону "торчит" ось Z)
Очевидным решением проблемы представляется корректировать координаты (все, а не только Z) каждой второй вершины подробной сетки (а именно той, напротив которой нет вершины менее подробной сетки) так, чтобы 3 вершины, граничащие с единственным ребром менее подробной сетки, лежали на одной прямой.
В чем недостаток этого очевидного подхода?
Чем предложенное решение отличается от него?
И какие это дает преимущества?
правка: я дико извиняюсь, но там кроме фпс и положения солнца прочая инфо некорректна (я там патчи считал, что ли, не помню)
так что кнопки работают, но инфо не видно( попробую исходник перекомпилить, если надо.