Сегодня 19 ноября 2025
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
Тренды 🔥
В Chrome нашли опасную уязвимость, которую уже используют хакеры — вышел экстренный патч 5 ч.
Electronic Arts и Codemasters анонсировали переосмысление симуляторов «Формулы-1» — F1 26 не будет 8 ч.
AMD представит технологию FSR Redstone с реконструкцией лучей и не только 10 декабря 8 ч.
Спасение галактики, истребление пауков и многое другое: Microsoft раскрыла, какие игры пополнят Game Pass в конце ноября и начале декабря 9 ч.
Спустя 7 лет после запуска и через 18 лет после Steam в Epic Games Store появилась возможность дарить игры друзьям 10 ч.
Генпрокуратура признала нежелательной деятельность разработчиков S.T.A.L.K.E.R. 2: Heart of Chornobyl на территории России 11 ч.
Alibaba выпустила ИИ-бота Qwen — будущего конкурента ChatGPT 11 ч.
Евросоюз рассматривает необходимость ограничения возможностей американских облачных гигантов 12 ч.
Roblox скоро начнёт разделять пользователей по возрасту — грядёт обязательная верификация 12 ч.
ИИ-агент в Windows 11 сможет загружать вирусы, предупредила Microsoft 13 ч.
Meta выиграла судебную тяжбу с антимонопольным регулятором США, призывавшим к её разделению 22 мин.
Новая статья: HUAWEI XMAGE 2025: мобильная фотография как полноценное окно в мир искусства 4 ч.
$30 млрд и 1 ГВт: Microsoft, NVIDIA и Anthropic договорились о сотрудничестве 4 ч.
Новая статья: Обзор ноутбука Acer Nitro V 16S AI: минимальный набор геймера, или На что способна мобильная версия GeForce RTX 5050 5 ч.
Xiaomi отчиталась об отличных продажах новых флагманов, миллиарде устройств умного дома и других успехах третьего квартала 5 ч.
Arm добавила Neoverse поддержку NVIDIA NVLink Fusion 5 ч.
Noctua пообещала «совсем скоро» выпустить чёрный кулер NH-D15 G2 chromax.black 5 ч.
Asus выпустила компактную плату Pro WS B850M-ACE SE для рабочих станций на Ryzen 9000 и Epyc 4005 6 ч.
Электролёт Joby Aviation впервые взлетел в небо Дубая — пассажиров начнут возить в 2026 году по тарифу Uber Black 8 ч.
Роботакси Zoox без руля и педалей начнут перевозить обычных пассажиров в Сан-Франциско 9 ч.