Тесселяция в играх что это

Тесселяция в играх что это

DirectX 11 тесселяция

DirectX 11 тесселяция—что это такое и почему это так важно

Сейчас все говорят о DirectX 11, и вы уже, наверное, много слышали об одной из самых важных новых возможностей – тесселяции. Концептуальная идея тесселяции довольно проста: вы берете полигон и режете его на небольшие части. Но почему эта возможность так важна? И чем она полезна для игр? В данной статье мы расскажем, почему тесселяция способна внести значительные изменения в работу с 3D графикой на ПК и как графические процессоры NVIDIA® серии GeForce® GTX 400 обеспечивают революционную производительность во время тесселяции.

На базовом уровне тесселяция – это метод разбиения полигонов на более мелкие части. К примеру, если вы возьмете квадрат и разрежете по диагонали, вы «тесселируете» этот квадрат в два треугольника. Сама по себе тесселяция не сильно улучшает реализм. К примеру, ничего не меняется, если в компьютерной игре квадрат визуализируется как два треугольника или как две тысячи треугольников. Тесселяция повышает реализм в том случае, если новые треугольники используются для описания новой информации.

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

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

Благодаря DirectX 11 тесселяция и карты смещения, наконец, образовали успешный союз, и разработчики уже этим пользуются. В популярных играх, таких как Alien vs. Predator и Metro 2033, тесселяция используется для создания ровных и плавных линий моделей, разработчики в компаниях Valve и id Software проделали большую работу по применению этих технологий к уже существующим игровым персонажам и получили многообещающие результаты.

Благодаря поддержке программирования конвейер тесселяции DirectX 11 позволяет разрешить большое количество задач компьютерной графики. Давайте рассмотрим четыре примера.

Совершенный Bump Mapping

По своей сути, карты смещения могут быть использованы в качестве заменителей для существующих техник bump mapping. Сегодняшние техники, например, метод создания рельефа при помощи нормалей, создают иллюзию неровной поверхности благодаря более точной закраске пикселей. Все эти техники работают лишь в определенных случаях и выглядят лишь частично убедительными. К примеру, метод создания рельефа при помощи параллаксного смещения (parallax occlusion mapping) – самый продвинутый метод создания неровности. Несмотря на то, что создается иллюзия собственного затенения геометрии, метод применим только к плоским поверхностям и создает эффект только на внутренней части объекта (см. изображение выше). Настоящее создание рельефа при помощи карт смещения не имеет таких проблем и обеспечивает точные результаты с любого угла зрения.

Более гладкие персонажи

Еще один близкий партнер тесселяции – это алгоритмы усовершенствования моделей. Алгоритм усовершенствования берет грубую модель и использует тесселяцию для создания более плавной и точной модели. Примером популярного алгоритма является PN-Triangles (также известный как N-patches). Алгоритм PN-Triangles конвертирует модели низкого разрешения в изогнутые поверхности, которые затем перерисовываются в сетку мелко тесселированных треугольников. Эти алгоритмы позволяют избавиться от многих визуальных артефактов современных игр, с которыми мы привыкли мириться, например, грубые ступенчатые стыки конечностей персонажей, колеса машин с полигональным внешним видом, грубые черты лиц. К примеру, PN-Triangles используется в игре Stalker: Call of Pripyat, обеспечивая более плавный и правдоподобный внешний вид персонажей.

Плавное изменение уровня детализации.

Наверное, вы уже заметили, что в играх с большими открытыми ландшафтами удаленные объекты то исчезают, то появляются в сцене. Это происходит вследствие того, что игровой движок переключается между уровнями детализации (LOD), оптимизируя нагрузку при обработке геометрии. Прежде не было простого и удобного метода плавного изменения уровня детализации, так как для этого потребовалось бы держать в сцене множество версий одной модели или окружения. Динамическая тесселяция позволяет избавиться от этой проблемы благодаря изменению уровня детализации в реальном времени. К примеру, при первом появлении удаленное здание рендерится с использованием лишь десяти треугольников. При приближении проявляются более детальные черты, и дополнительные треугольники используются для уточнения деталей, таких как окна и крыша. Когда вы, наконец, достигаете двери, тысячи треугольников используются для визуализации одной только латунной ручки, и каждый изгиб тщательно вырезан при помощи карт смещения. Благодаря динамической тесселяции объекты больше не исчезают и не появляются в кадре, а игровые окружения могут бесконечно детализироваться.

Тесселяция имеет большое значение и для разработчиков, предлагая значительное улучшение конвейера для создания контента. Отдавая свое предпочтение тесселяции, Джейсон Митчелл (Jason Mitchell) из Valve объясняет: «Нам важна возможность создания материалов, поддерживающих как уменьшение, так и увеличение масштаба… Мы, наоборот, хотим правдоподобно уменьшать масштаб материала, обеспечивая рендеринг в реальном времени в заданной системе.» Данная возможность создания модели и использования ее с различными платформами позволит сократить время разработки, а для геймеров будет означать самое высокое возможное качество изображения на их GPU.

Как графические процессоры GeForce GTX 400 поддерживают тесселяцию

Традиционно GPU используют одиночный геометрический движок для создания тесселяции. Этот подход очень похож на конструкцию ранних GPU, использовавших один пиксельный конвейер для закраски пикселей. Основываясь на опыте пиксельных конвейеров, которые превратились из одного блока во множество параллельных блоков и захватили первенство в создании 3D реализма, мы спроектировали нашу архитектуру тесселяции с учетом параллельных вычислений с самого начала.

Графические процессоры GeForce GTX 400 содержат до 15 блоков тесселяции, каждый из которых представлен специальным аппаратным обеспечением для выбора вершины, проведения тесселяции и трансформаций координат. Они работают вместе с четырьмя параллельными растровыми движками, превращающими вновь тесселированные треугольники в точный поток пикселей для закраски. Результатом такого подхода становится революционный прорыв в производительности при проведении тесселяции – более 1.6 миллиарда треугольников в секунду при постоянной производительности. По результатам тестирования независимого веб-сайта Bjorn3D, GeForce GTX 480 почти в 7.8 раз опережает своих самых быстрых конкурентов.

После многих лет проб и ошибок тесселяция, наконец, стала приносить свои плоды на ПК. Уже сегодня вы можете оценить потенциал тесселяции благодаря таким сногсшибательным играм, как Metro 2033. Со временем, тесселяция времени займет позицию такого же важного и незаменимого инструмента, как закраска пикселей. Осознавая важность тесселяции, компания NVIDIA начала создание архитектуры параллельной тесселяции с самого начала. Результатом стало семейство графических процессоров GeForce GTX 400, обеспечивающих настоящую революцию в геометрическом реализме и производительности при проведении тесселяции.

Тесселяция

Тесселя́ция (англ. tessellation ) в переводе с английского, означает мозаика . Тесселяция или разбиение плоскости картины, которая заполняет плоскость без каких-либо накладок и без пробелов. В латинском tessella небольшой кусочек глины, камня или стекла используется для изготовления мозаики. Слово «tessella» означает «маленький квадрат».

Содержание

Тесселяция и компьютерные модели

В компьютерной графике, так называется технология с помощью которой возможно увеличить количество полигонов в полигональной трёхмерной модели, используя кривые Безье. При этом каждый полигон модели разбивается на заданное число связанных полигонов, которые выстраиваются в соответствии с общим направлением поверхности модели. Таким путём можно сначала создать простую модель, а затем быстро и просто повысить её детализацию. Такой метод обычно используют для рендеринга в реальном времени, где на модель накладываются (так называемые треугольники) который иногда называют триангуляцией. Тесселяция является одной из основных особенностей DirectX 11 и OpenGL.

Тесселяция в природе

Базальтовые потоки лавы, часто демонстрируют столбчатые сращивания в результате сокращения сил, по мере остывания лавы образуются трещины. Обширные сети трещин образуют тесселяцию.

  • Игорь СвадковскийАппаратная тесселяция в GPU — возможности и требования (рус.) 2. 3DNews (31 марта 2010 года). Проверено 31 марта 2010.

Wikimedia Foundation . 2010 .

Смотреть что такое «Тесселяция» в других словарях:

Direct3D 11 — Стиль этой статьи неэнциклопедичен или нарушает нормы русского языка. Статью следует исправить согласно стилистическим правилам Википедии. Direct3D 11 (D3D11) компонент интерфейса программирования приложений (англ. … Википедия

Radeon R600 — Графический процессор (GPU) под кодовым названием Radeon R600, лежащий в основе серий видеокарт Radeon HD 2000/3000 и FireGL 2007, разработан корпорацией ATI Technologies. Видеокарты серии HD 2000 были выпущены для конкуренции с видеокартами… … Википедия

Stone Giant — Тип графический бенчмарк, технологическая демонстрация Разработчики BitSquid, Fatshark Операционная система Microsoft Windows Языки интерфейса английский Первый выпуск 21 апреля 2010 года … Википедия

Гексагональная решётка — Треугольная тесселяция. Вершины формируют шестиугольную решётку с горизонтальными рядами, с треугольниками, указывающими вверх и вниз. Есть три способа сгруппировать треугольники 6 на 6, чтобы сформировать шестиугольную тесселяцию. В каждом… … Википедия

Графический конвейер — Графический конвейер аппаратно программный комплекс визуализации трёхмерной графики. Содержание 1 Элементы трехмерной сцены 1.1 Аппаратные средства 1.2 Программные интерфейсы … Википедия

Asura (игровой движок) — Asura Игровой движок (Список) Разработчик … Википедия

Шестиугольная решётка — Треугольная тесселяция. Вершины формируют шестиугольную решётку с горизонтальными рядами, с треугольниками, указывающими вверх и вниз. Есть три способа сгруппировать треугольники 6 на 6, чтобы сформировать шестиугольную тесселяцию. В каждом… … Википедия

компьютерная графика — визуализация изображения информации на экране дисплея (монитора). В отличие от воспроизведения изображения на бумаге или ином носителе, изображение, созданное на экране, можно почти немедленно стереть или (и) подправить, сжать или растянуть,… … Энциклопедический словарь

PlayStation Portable — В этом разделе не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете отредактироват … Википедия

Сравнение графических процессоров NVIDIA — Эта таблица содержит основную информацию о графических процессорах NVIDIA серии GeForce и видеокартах, построенных на официальных спецификациях NVIDIA. Содержание … Википедия

Поговорим о тесселяции в DirectX 11

Вы наверняка помните серию недавних скринов. Тогда Кристина Коффин сказала, единственное что я вижу на скринах – так это отключенную тесселяцию…

Tessellator (модуль тесселяции)

Тесселяция не является совершенно новой технологией, впервые её стали использовать видеопроцессоры Xenos, которые были разработаны компанией AMD для игровых консолей Xbox 360 в 2005 году. Однако модуль тесселяции использованный в DirectX 11 является более устойчивым и гибким, нежели модуль, использованный в графических процессорах Xenos.

Тесселяция – увеличения количества полигонов

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

Все стадии обрабатываются в графическом процессоре

Процесс тесселяции предмета начинается в Hull Shader (поверхностный шейдер) – он берет контрольные точки и вычисляет нужный уровень тесселяции. После этой базисной реорганизации контрольные точки отправляются в Domain Shader (доменный шейдер) – тесселятор абсолютно ничего не знает о контрольных точках. Вместо этого тесселятору предоставляют некоторое количество параметров тесселяции, которые задают ему требуемый уровень тесселяции на определенном патче (особые минимальные кусочки объекта). Hull Shader сообщает тесселятору, в каком порядке он должен работать – разработчик сможет определить, каким методом произойдет процесс тесселяции, поскольку модуль тесселяции располагает фиксированным комплектом функций, у него есть несколько операционных режимов. Тесселятор берет то, что было подано ему из Hull Shader и действует в патче над формированием требуемой добавочной геометрии. Как только эта стадия будет завершена, он выдаст доменные точки (domain points) и данные топологии. Доменные точки подаются в Domain Shader, который создает на их основе вершины, доступные прочей части конвейера. Одновременно данные топологии адресуются прямо на этап сборки примитивов конвейера – это совершается потому, что данные шейдерам не нужны, они подготовлены для растеризатора. Здесь нужно отметить то, что на всех этапах стадии тесселяции работа ведется не с треугольниками – вместо этого обрабатываются патчи и точки. Патчи представляют собой кривые или области поверхности и практически всегда являются четырехугольниками. Это первый случай, когда DirectX использует в качестве примитивов не треугольники, и это является существенным шагом вперед.

Минимальный уровень тесселяции

Максимальный уровень тесселяции

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

Преимущества тесселяции

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

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

Без тесселяции

Тесселяция включена

Без тесселяции

Тесселяция включена

Без тесселяции

Тесселяция включена

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

Тесселяция в играх что это

Информация взята с сайта http://gamegpu.com/

Потребление ОЗУ игрой с различными настройками графики:

Потребление RAM всей системой во время игры с максимальными настройками графики (зависит также от количества запущенных фоновых программ):

Можно заметить, что для игры на минимальных настройках требуется ПК с 3-мя ГБ оперативной памяти, для средних настроек — с 3.5-4 ГБ, для высоких — 6 ГБ, для максимальных же настроек потребуется 8 ГБ ОЗУ и более. Конечно, перед запуском игры закройте браузеры и другие работающие программы, чтобы освободить ОЗУ. Количество памяти указано при включённом файле подкачки.

Q: у меня gtx 780ti или gtx970980 и игра тормозит на максимуме! Что за отвратительная оптимизация, раз игра тормозит на топовых видеокартах?!
A: без паники! Во-первых, текстуры максимального разрешения рассчитаны на видеокарты с памятью более 6-ти ГБ. Поэтому выберите «высокое» качество текстур. Во-вторых, обратите внимание на сглаживание, поставьте SMAA или FXAA. Скорее всего после этого лаги пропадут.

Q: у меня 2 ГБ видеопамяти и игра очень сильно тормозит. Что делать?
A: если у вас видеокарта оснащена только 2-мя ГБ памяти (например, некоторые версии gtx960), то поставьте качество текстур на «средние» и попробуйте перезапустить игру.

Q: у меня игра сильно тормозит на максимуме! Какие опции в первую очередь необходимо снизить?
A: 1) Поставьте сглаживание SMAA или FXAA. 2) Динамическую листву поставьте на средние. 3) Детализацию на «высоко» или ниже. 4) PureHair просто «ВКЛ». 5) Качество теней на «средние». 5) Если у вас видеокарта серии GTX7XX или ниже, выключите тессиляцию. 6) Качество отражений поставьте на минимум.

Q: какие опции могут испортить графику?
A: 1) «Глубина резкости» размывает изображение, некоторым может не понравится. 2) «Зернистость плёнки» добавляет шумы и артефакты на изображение. 3) «Размытие по краям» также не всем игрокам придётся по вкусу. 4) «Мягкие тени от солнца» слишком сильно размывают тени, особенно когда опция «качество теней» выбрана ниже чем «очень высоко».

Q: у меня очень слабый компьютер. Я играю на полном минимуме, но у меня есть запас мощности. Какие опции включить в первую очередь, чтобы существенно улучшить графику?
A: 1) Обязательно включите «Преграждение окружающего» 2) «Динамическую листву» поставьте на «средние». 3) «Детализацию» на «средние». 4) Включите «Отражения пространства экрана», но в последнюю очередь 5) «Качество теней» очень сильно влияют на качество графики, поэтому постарайтесь поставить тени хотя бы на «минимум», это очень важно. 6) На «качество текстур» влияет только объём видеопамяти, поэтому поставьте на «средние» или «высокие».

Q: у меня в игре fps нормальный, но в кат-сценых игра тормозит! Что делать?
A: «Pure Hair» и «глубина резкости» в длинных роликах автоматически переключаются на максимум вне зависимости от выбранных настроек, поэтому выключите соответствующие опции.

Q: у меня всего лишь 2 ГБ ОЗУ. Я не смогу поиграть в эту игру?
A: сможете! Увеличьте файл подкачки. Загрузки в игре и быстрые переходы на другие зоны у вас будут занимать 8-15 минут. Также во время перехода из одной зоны в другую игра будет подвисать на 30-40 секунд в течение нескольких минут.

Q: у меня очень старый ПК. Ну там gt440+Core 2 Duo E4400. Мне остаётся только смотреть прохождение игры на youtube?
A: нет! В это сложно поверить, но я прошёл игру именно на gt440+ Core 2 Duo E4400 (2.65 GHZ). В игре было 17-25 fps на 1280х720.

Tessellation (Тесселяция)

Тесселяция — процесс деления геометрии на более мелкие примитивы. Поверхность объекта обычно описывается примитивами: треугольниками, квадами или полигонами, графический ускоритель приспособлен для максимально эфективных вычислений над ними. Алгоритмы тесселяции позволяют разбить один примитив, например, треугольник, на несколько по определённому закону, из-за чего геометрия выглядит более гладкой.

Что такое Tessellation (Тесселяция)?

7 августа 2005 (Обновление: 20 фев. 2010)

> Процесс деления изображения на более мелкие формы
хм, мне казалось делиться модель на полигоны.

ну так бери да исправляй, статье уж пять лет

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

19 − пятнадцать =