В 2009-м году компания Microsoft выпустила 11-ую версию своего DirectX, она содержала множество наиполезнейших функций, позволяющих играм преобрести ещё большую фотореалистичность.

Детализация персонажей
Игра Crysis 2, с DX11
Но, как говорится, в семье не без уродов. Дело в том, что с выходом DirectX 11 компания nVidia обкатала достаточно винрарный план о том, как им заработать приличную сумму используя всего-лишь одну храмую недоработку. Имя этой недоработке - Тесселяция. Итак :
1. Что такое тесселяция.Тесселяция - технология, позволяющая серьёзно повысить детализацию какого-либо обьекта засчёт того, что его основные полигоны дробятся на неисчислимое количество мелких, и в итоге получается обьект с таким количеством, что каждый полигон занимает примерно один пиксель вашего экрана(вы только представте число треугольников в одном обьекте!). В дальнейшем эти полигоны смещаются для предания обьекту дополнительной геометрии.
Вот, как это выглядит в полигональной сетке:
![]() |
Исходный обьект |
![]() |
Его полигональная сетка |
Вы наверное спросите себя "А зачем же СТОЛЬКО полигонов в одном обьекте???" Я вам обьясню. Тесселяция - насквозь дырявая технология, и как бы хорошо небыда нарисована карта высот для тесселированого обьекта, если в нём мало полигонов, то он будет похож на груду волн. Но даже ТАКОЕ кол-во полигонов, как на рисунке выше не спасает обьект от тех самых волновых складок (см. исходный обьект).
А теперь представте, что происходит, когда таких обьектов в кадре не один, и не два, когда всё поле зрения заполнено тесселироваными обьектами! Этот процесс потребляет неисчисляемые ресурсы видеокарты, так как обрабатывается исключительно там. Я думаю вам будет интересно посмотреть вот это видео 2. Что же побудило разработчиков использовать именно этот метод?Как я упомянал ранее, компания nVidia нашла в этом огромную выгоду. Т.К. нереально много ресурсов затрачиваются на выполнение тесселяции, nVidia начала выпускать сверхмощные видеокарты, прекрасно справляющиеся с тесселяцией. А как они начали этот алгоритм рекламировать... Какие бы маркетологи не занимались раскруткой всего этого, они определённо знают своё дело! Кстати, главной целью этого плана был саботаж видеокарт от AMD. В итоге Нвиды купаются в деньгах, а большинство геймеров верит, что тесселяция - это будующее. Но как же они ошибаются... Я буду говорить прямо. Если вы купили мощную видеокарту от nVidia, то поздравляю, компания вас жёстко поимела и развела на деньги! Нвиды как только обкатали свой план сразу начали слать чемоданы разработчикам игр, чтоб на каждый дюйм пихали тесселяцию. Первым таким проектом стал вышеперечисленный Crysis 2.
3. Есть ли альтернатива?
Ответ: ДА! Есть идеальная альтернатива этому беспределу. Это Parallax Occlusion Mapping.
Эта технолония представляет собой почти то же, что и тесселяция, только при смещении неровностей не используются полигоны. Смещается сама текстура без каких либо побочных эффектов и выглядит это всё просто шикарно.
В этой 3D композиции всего 2 полигона, всё остальное смещено параллаксом. Выглядит очень красиво, а главное это алгоритм практически не жрёт FPS и ресурсы вашего компьютера!
А вот тут уже начинается самое интересное. Дело в том, что в той же Crysis 2 этот эффект использовался практически везде. С помощью специального конфига я смог отключить тесселяцию на уровнях и обнаружил, что nVidia и Crytek нас очень жестоко обманывали. Правда, ОЧЕНЬ жестоко.
Дело в том, что на видных местах тесселяции почти нет, чтоб игроки не видели её уродливость. 90% экстра-геометрии там - это Parallax, а вода остаётся интерактивной, даже без неё и визуально ничем не отличается. Но злые дяди разработчики всё равно всё это выдают за тесселяцию, ведь проверить практически никак нельзя. При отключении тесселяции производительность игры возросла примерно в 50%. Подробнее о том, как нас обманывают и фаршируют обьекты ненужными полигонами, и как видеокарта тесселирует воду даже там, где никакой воды в кадре нет вы можете прочитать и посмотреть вот здесь
http://techreport.com/articles.x/21404/2
Статью подготовил BadMofo
P.S. не потдавайтесь обману со стороны разработчиков и не тратьте деньги зря. Я являюсь обладдателем Palit GeForce GTS 450 и с откл. тесселяцией Crysis 2 у меня идёт на максималках с 30-40 FPS, а с визуальной точки зрения потерь почти 0%
Parallax Occlusion Mapping довольно неплохо пожирает время, в сравнении даже с bumped шейдерами и смещением нормалей.
ОтветитьУдалитьВ отличие от тесселяции, ни один из подобных методов не повысит детализацию на гранях. Тесселяция еще очень хороша для LOD и для небольших объектов, которым явно нужно увеличить детализацию, сместив геометрию картой высот или напротив, сгладить геометрию.
А в крузисе просто очень безответственно ею воспользовались забив на оптимизацию.
Первые видеокарты с поддержкой тесселяции были radeon hd 5850/5870 представленные в сентябре 2009 года. GeForce gtx 480 показали только в апреле 2010. Первая игра (или одна из первых) с поддержкой тесселяции - Dirt 2. Вышла на ПК в декабре 2009 года под эгидой AMD/ATI. Я помню как AMD/ATI показывали демонстрацию, где сравнивали normal bump mapping, parallax occlusion mapping и тесселяцию. И говорили, что тесселяция лучше, качественнее, и быстрее чем параллакс.
ОтветитьУдалитьhttp://s-s-o.ru/forum.php?PAGE_NAME=profile_view&UID=14851
ОтветитьУдалитьhttp://aut.armavir.ru/communication/forum/index.php?PAGE_NAME=profile_view&UID=69257
http://ds2.edu.sbor.net/index.php?subaction=userinfo&user=uzudysub
http://aidaya.com/forum/user/6412/
http://discomega.cba.pl/profile.php?lookup=2757
http://kgltd.ru/component/kunena/user/271700-ejeromeq.html
http://moscowmaster24.ru/forum/user/33793/
http://drdex.cba.pl/profile.php?lookup=500