Сегодня 11 августа 2026
18+
MWC 2018 2018 Computex IFA 2018
реклама
Видеокарты

Пиксельное затенение и вершинные эффекты на GeForce3

⇣ Содержание

4. Преимущества вершинного программирования

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

 Пример вершинного шейдера
"Мембрана" - этот пример вершинного шейдера
изменяет цвет объекта при удалении точек поверхности
от наблюдателя

Обтягивание текстурами с использованием палитры (paletted skinning)

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

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

 Использование вершинных шейдеров в стиле мультфильма

Сейчас возможно использование вершинных шейдеров в стиле мультфильма (cartoon style)

Наложение карт окружающей среды и трансформация

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

Процедурные геометрические деформации (procedural geometry deformations)

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

Геометрический морфинг (Geometry Morphing)

Используя основные идеи процедурной деформации (procedural deformation), игра может демонстрировать реалистичные, "живые" эффекты. Когда человек смеется, на его лице происходит множество изменений. Некоторые мускулы расширяются в каком-то направлении, другие сокращаются, и все это происходит одновременно. Вся эти "живые" движения могут быть реализованы в реальном режиме времени опять же с использованием кадровой анимации (keyframe animation). Программист указывает точки начала и конца и заставляет вершинный движок интерполировать каждый промежуточный кадр. В результате мы получаем четкую и реалистичную анимацию.

Непостоянная трансформация (irregular transform)

Один из некоторых менее значительных эффектов – это эффект линзы или "рыбьего глаза". nVidia также реализовала несколько эффектов, впервые анонсированных в Voodoo5, например, размазывание движущихся объектов (Motion Blur). Также разработчики игр могут произвольно применять различные варианты освещенности. До сих пор, такие эффекты были невозможны без значительных вычислительных затрат. Характерным примером является двустороннее освещение. Раньше, если вы имели плоскую поверхность и желали осветить ее с двух сторон различным образом, вам бы пришлось удвоить количество треугольников, снижая скорость. Но сейчас вершинные шейдеры позволяют управлять освещением с обеих сторон без задействования двойной модели.

 Плохой пример, но преимущества размазывания движущихся объектов увидеть можно

Плохой пример, но преимущества размазывания движущихся объектов увидеть можно

Ускорение поверхностей высокого порядка (high-order surfaces)

 Попиксельное наложение карт среды
Попиксельное наложение карт среды

Поверхности высокого порядка можно представить как поверхности, основанные на кривых линиях. Примером линейной формулы может быть y=m*x+b или прямая линия. Множество прямых линий можно использовать для создания иллюзии кривой линии, но необходимо просто огромное число прямых поверхностей для создания одной кривой поверхности. nVidia улучшила ускорение поверхностей высокого порядка в GeForce3. Примером формулы высокого порядка может быть y=mx^2+b, где x возводится в степень. Конечно, показатель степени не обязательно всегда равняется двум, но для реальных поверхностей такой степени вполне достаточно.

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

И к чему же мы пришли?

Видели ли вы видеоролик Doom3 на GeForce3? Если нет, то не поленитесь и скачайте его. В игре вы быстро заметите все преимущества попиксельного затенения и программируемых пиксельных и вершинных шейдеров.

Заключение

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

Главная цель этой статьи – объяснить преимущества пиксельного и вершинного затенения (pixel shading/vertex shading). Эти две технологии являются основой движка nVidia nfiniteFX. Так как обе технологии опираются на возможность программирования, движок может реализовывать практически бесконечное число вариантов. Разработчики игр могут меньше концентрировать свое внимание на особенностях программных движков и реализовывать более подробную физическую модель мира.

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

Глоссарий

mipmapping (мипмаппинг) - множественное отображение (последовательность текстур одного и того же изображения с уменьшающимся разрешением по мере удаления отображаемого объекта от наблюдателя)

Environment Mapped Bump Mapping (EMBM) — поддержка аппаратного ускорения рельефного текстурирования с использованием карт окружающей среды

Pixel Shading – пиксельное затенение, способ применения специальных эффектов к отдельному пикселю.

Pixel Shader – пиксельный шейдер, способ программирования попиксельного затенения.

Vertex Shader – вершинный шейдер, способ программирования вершинных эффектов.



 
← Предыдущая страница
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

window-new
Soft
Hard
Тренды 🔥
Суд США открыл путь более чем 3300 искам против Meta, Google, TikTok и Snap из-за зависимости детей от соцсетей 57 мин.
Бывший сотрудник Google запустил собственный чат-бот — и сам отвечает на запросы как ИИ 2 ч.
Атмосферная внедорожная игра Over the Hill от разработчиков Art of Rally не заставит себя долго ждать — новый трейлер и дата выхода в Steam 2 ч.
Комичная кооперативная игра Big Walk от создателей Untitled Goose Game уже стала хитом продаж — миллион копий за шесть дней 3 ч.
ИИ-ассистент взломал сайт спортзала и удалил чужую бронь, чтобы освободить место для своего хозяина 3 ч.
OpenAI выпустила ИИ-модель GPT-5.6-Cyber для поиска уязвимостей, но доступ к ней получат только проверенные киберзащитники 6 ч.
Календарь релизов — 10–16 августа: Mafia: The Old Country — Man of Honor и Hell Let Loose: Vietnam 12 ч.
Мрачный боевик 1666: Amsterdam от создателя Assassin’s Creed отправит охотиться на монстров среди людей — раскрыта дата выхода в раннем доступе Steam 12 ч.
Контрабанда на рыбалке: секретная версия отменённого боевика Contraband от авторов Just Cause четыре года скрывалась в файлах другой игры 16 ч.
Meta выпустила открытую ИИ-модель Muse Glimmer для запуска прямо на ПК 17 ч.
ИИ на стороне нефтяников: алгоритмы ускорят добычу нефти сильнее, чем развитие зелёной энергетики 2 ч.
Nvidia продолжает финансировать ИИ-бум чужими деньгами — она собрала грандов Уолл-стрит, чтобы привлечь до $500 млрд для ИИ ЦОД 2 ч.
DapuStor анонсировала 512-Тбайт SSD серии R6060 2 ч.
Synopsys представила полный стек решений CXL 4.0 для масштабируемых ИИ-инфраструктур 2 ч.
Apple отказалась от полностью стеклянного iPhone к его 20-летию — всему виной высокий брак 4 ч.
Microsoft представит следующее поколение ИИ-чипов Maia 300 уже в сентябре 5 ч.
Intel объявила о размещении акций на $15 млрд, чтобы профинансировать расширение контрактного производства 6 ч.
Boeing продаст свой стартап по разработке аэротакси компании Archer Aviation 6 ч.
Новая статья: Обзор Gigabyte B850 Aorus Elite X3D: материнская плата для Ryzen X3D 11 ч.
NVIDIA заплатит до $3 млрд за долю в Lancium, предоставляющей землю и энергию ИИ ЦОД Stargate 11 ч.