Тесселяция/Tesselation
[Video]http://www.youtube.com/watch?v=bkKtY2G3FbU[/Video]
Тесслеяция (
tessellation) или адаптивная тесселяция полигонов.
Термин "тесселяция" стал широко обсуждаться, начиная с выпуска Microsoft Xbox 360 в конце 2005 года, - разработанный ATI видеочип Xenos включал в себя выделенный аппаратный модуль тесселяции.
Причина такого решения была весьма очевидна: это должно было улучшить процесс создания авторского контента и позволить разработчикам и художникам создавать более реалистичные и сложные персонажи, избегая при это огромных накладных расходов.
В основе этого подхода лежала идея, что объект, расположенный далеко от точки обзора, будет менее детализирован, потому что его тяжело рассмотреть, но по мере его приближения число треугольников в изображении этого объекта экспоненциально увеличивается с целью увеличения его детализации для того, чтобы он выглядел более реалистично. Достоинством этого метода является то, что, когда рассматривает полностью просчитанное изображение, среднее количество обработанных треугольников остается близко к постоянному значению, так что игроку значительно реже приходится сталкиваться с резкими падениями производительности.
Традиционно, создание персонажей до момента, как к ним будет применена полигональная сетка, продвигается от Sub-D модели к анимированной модели с картами смещения. Как только сетка будет применена и даже до того, как ее направят в GPU, она будет рассчитана в соответствии с различными уровнями детализации (LOD). Различные уровни LOD могут использоваться для различных классов аппаратных средств или они могут использоваться, когда персонажи или другие столь же значимые объекты находятся далеко от игрока - это добавляет сцене больше деталей с минимальными потерями в производительности.
(
http://www.thevista.ru/page.php?id=10460)
На сегодняшний день для разработчиков игр и игрового железа очень остро встала проблема низкого уровня детализации геометрии (квадратные пальцы, квадратные колеса, квадратные бочки и т.п., вобщем квадратные округлости), которую компания ATI решила преодолеть при помощи аппаратного тесселятора. На современных видеокартах начиная Radeon HD 2xxx применяется программируемый блок для аппаратной тесселяции в дополнение к шейдерным блокам. Сея фишка позволяет динамически разбивать объект на большее число полигонов, когда это необходимо, не вызывая при этом дополнительной нагрузки на системную шину и CPU, т.к. все это выполняется в GPU используя при этом только ресурсы видеокарты.
Если к примеру взять ту-же бочку: предположим вы находитесь за километр от нее - в этом случае её можно сделать и квадратной, заметно не будет. А по мере приближения это становится все более и более заметно, в этом случае и применяется тесселяция - чем ближе вы к ней подходите, тем на большее число полигонов она разбивается как бы скругляя её, таким образом, чтобы она всегда выглядела круглой. Если вы, скажем отвернулись от бочки и ушли от нее - она опять превращается в квадрат, освобождая ресурсы видеокарты для обработки других более значимых объектов. Причем для центрального процессора бочка всегда остается квадратной, что разгружает CPU и системную шину.
Тесселятор можно задействовать как в Direct 3D, так и в OpenGL.
Полная поддержка тесселяции ожидается в DirectX 11.
При тесселяции полигоны добавляются, конечно-же не в той плоскости что исходная.
Существует 3 режима тесселяции:
-добавление новых полигонов с математическим скруглением заданных поверхностей объекта в целом;
-добавление новых полигонов произвольно на новых плоскостях от заданной в определенных пределах - "шум".
-добавление новых полигонов по заранее заданной карте смещения.
(
http://forum.igromania.ru/showthread.php?t=75917)
Я думаю, вы уже это где-то видели (кроме программ по созданию зд), но после недавнего прочтения одной статьи про тесселяцию и просмотра видео я не могу удержаться от того, чтоб поделиться.
Можно скачать Бенчмарк:
http://unigine.com/download/