2

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

1 ответ1

5

Тесселяция в общих чертах - это просто подразделение данной геометрии на несколько кусков (обычно треугольников).

Вы ссылаетесь на стадию затенения тесселяции, представленную в Direct X11 и OpenGL 4.

Блок затенения тесселяции получает в качестве входных данных произвольную сетку (например, квад, треугольник, линию и т.д.) И может динамически подразделять ее на несколько примитивов. Например, основываясь на том факте, что четверть меша находится далеко от камеры, и если она вообще может быть видна зрителю, он может сказать, что отбросить квад полностью, просто обработать его как 2 треугольника или даже 8192 треугольники.

В Bump mapping вы визуализируете квад и получили текстуру с дополнительной информацией, вы все равно визуализировали бы ее как один квад, но выглядело бы так, как если бы она была более детальной. Например, вычисляя освещение "реального" объекта из дополнительной текстуры и применяя это к четырехугольнику. График в вашей ссылочной статье демонстрирует это довольно хорошо:

http://www.nvidia.com/docs/IO/91797/model_comparision.jpg

Видите ли, объект отображения рельефа по-прежнему является сферой, хотя выглядит так, будто имеет выпуклости из-за применения правильных теней.

С другой стороны, отображение смещения действительно преобразовывает вершины сетки на основе текстуры, а не просто действует так, как это было бы преобразовано, и выполняет дальнейшие вычисления, такие как освещение с этой информацией. Это приводит к высокой стоимости способа отображения большего количества примитивов (вершин). Чтобы взять предыдущее утверждение, чтобы увидеть вашу сетку в полном разрешении, вам нужно будет визуализировать 8192 треугольника, а не просто квад для всех квадов в вашей сетке, так что вам нужно будет отрендерить все в высоком разрешении и сделать рендеринг вверх в 4000 раз медленнее.

В этот момент в игру вступает этап затенения тесселяции. Вы динамически говорите, какие части меша должны быть подразделены дальше, например, на основе текущей точки обзора, а затем используете карту смещения, чтобы сделать объект более реалистичным. Таким образом, части сетки будут решены очень высоко и будут иметь много деталей из-за карты смещения, а другие будут просто отображаться в очень низком разрешении и, следовательно, очень быстро. Так что это уже история.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .