OpenGL текстурирование карты высот

Я не могу найти какие-либо учебные пособия или информацию о том, как правильно текстурировать ландшафт, сгенерированный из карты высот.

Наложение текстур не проблема, я хочу знать, как текстурировать всю местность с разной высотой, имеющей разные текстуры.

Я придумал текстуру, которая выглядит примерно так:

введите описание изображения здесь

В зависимости от высоты треугольника ему назначается другая текстура.

Результат:
введите описание изображения здесь

Я пытаюсь создать такую ​​среду, как скайрим, где текстуры не должны повторяться постоянно, убедительный пейзаж!

Вопрос в том, как мне создать нечто подобное:
введите описание изображения здесь

Текстуры легко смешиваются на разных уровнях! Как это сделать? Какая техника используется?

Пример видео: http://www.youtube.com/watch?v=qzkBnCBpQAM

0

Решение

Одним из способов будет использование 3D-текстуры для вашей местности. Каждый слой текстуры — это другой материал (песок, камень, трава например). Каждая вершина имеет третий ультрафиолетовый компонент, который определяет смешивание между двумя примыкающий текстуры, вы также можете использовать высоту вершины здесь. Обратите внимание, что смешивание между травой и песком в нашем примере невозможно при таком подходе, потому что камень «лежит между», но это, безусловно, самый простой и быстрый метод. Другим методом будет использование отдельных двухмерных текстур вместо одной трехмерной. Затем вы бы связали текстуры песок а также трава например, и нарисуйте все вершины, которые нуждаются в смешивании между ними. Свяжите две другие текстуры и повторите. Это, конечно, сложнее и медленнее, но позволяет смешивать любые две текстуры.
Могло бы быть больше методов, но эти два — те, о которых я могу думать прямо сейчас.

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

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]