Сегодня 26 апреля 2025
18+
MWC 2018 2018 Computex IFA 2018
реклама
Видеокарты

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

⇣ Содержание

2. Пиксельное затенение (pixel Shading)

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

Что же такое попиксельное затенение (per-pixel shading)? Это способ применения специальных визуальных эффектов к... пикселю. Таким образом, ощущение реальной материи рождается через отдельные пиксели, для большей аккуратности и интенсивности. Попиксельное затенение призвано изменить представление людей о компьютерной графике. Оно уже достаточно давно используется в кинематографии для создания более реалистичных и близких к жизни компьютерных графических объектов. Например, в фильме "Игрушечная история" (Toy Story) есть такой персонаж, Бузз (Buzz Light-year). Вспомните отражение на его прозрачном шлеме. Каким же образом получается то, что мы одновременно видим и окружающую обстановку в отражении, и объекты, находящиеся под самим шлемом? Все это реализуется через попиксельное затенение. До сих пор эта технология не применялась на компьютерах из-за значительных вычислительных требований. Конечно, ее можно реализовать через 3D Studio, но ведь это несколько отличается от реального времени? Может ли быть этот эффект применен ко всему кадру в высоком разрешении в 1/60 часть секунды? Ответом было "нет". До сих пор.

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

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

 Интерполяция  артефакты при интерполяции

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

Программируемые пиксельные шейдеры (pixel shaders)

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

GeForce2 может реализовывать Dot3 (Dot Product) и другие современные эффекты наложения карт среды (bump mapping) и эффекты затенения на каждый пиксель.

 Реализация NSR в GeForce2
Реализация NSR в GeForce2

NSR позволяет смешение (texture-blend operation) только двух текстур за проход

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

 Вершинный конвейер затенения в GeForce3
Вершинный конвейер затенения в GeForce3

Скорее всего, так выглядит (vertex shading pipeline), который появился в GeForce3.

Пояснение: GeForce3 обрабатывает 4 текстуры за один проход. Логично, что GeForce3 должна обрабатывать их независимо, для реализации "бесконечного" количества эффектов, рекламируемых nVidia. Кроме независимого "жонглирования" текстурами, чип должен применять эффекты к каждой текстуре независимо, используя шейдеры DirectX8.

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

После завершения операций над текстурами, можно получить дополнительные варианты комбинаций путем смешения (blends) до 8 текстур. Все эти операции поддерживаются пиксельными шейдерами DirectX 8.

Улучшение

nVidia реализовала полностью программируемый конвейер затенения NSR и в то же время улучшила его характеристики. Если вы не видели преимущества NSR в GeForce2, то ниже приведены скриншоты из игры "Giants: Citizen Kabuto".

 Иллюстрация  Иллюстрация  Иллюстрация  Иллюстрация  Иллюстрация  Иллюстрация  Иллюстрация  Иллюстрация

Приведенные скриншоты были получены во время игры на GeForce2 Ultra в реальном времени. По ним вы можете себе представить, как выглядит игра Giants. Вид облаков и неба в этой игре лучший из всех что я видел.

Имейте в виду, что все это реализовано благодаря простейшим функциям NSR. Мы еще даже не увидели всех возможностей нового движка nfiniteFX. Хотя, всему свое время.

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

window-new
Soft
Hard
Тренды 🔥
Холдинг xAI Илона Маска готовится привлечь $20 млрд в свой капитал 4 ч.
Профессор РАН спрогнозировал появление в скором времени ИИ-аватаров людей 10 ч.
Новая статья: Hollywood Animal — тёмная сторона Голливуда. Предварительный обзор 10 ч.
Microsoft наконец запустила для всех ИИ-функцию Recall, которая делает скриншоты всех действий пользователя на ПК 11 ч.
Релиз шутера La Quimera от бывших разработчиков Metro отложили после разгромных обзоров — игра должна была выйти сегодня 11 ч.
Capcom подразнила фанатов тизером Resident Evil 9 в новом ролике о ремейке Resident Evil 4 12 ч.
Администрация Трампа потребовала от ЕС отказаться от жёсткого регулирования ИИ 13 ч.
Продажи Clair Obscur: Expedition 33 за первые сутки превысили 500 тысяч копий, хотя игра доступна в Game Pass 14 ч.
Microsoft применила генеративный ИИ в рекламе, но этого никто не заметил 16 ч.
Anthropic намерена понять, как работают внутренние механизмы ИИ-моделей 16 ч.
В процессорах Nova Lake будет больше кристаллов Intel, чем в Panther Lake 2 ч.
В этом году Intel выпустит самые мощные процессоры Panther Lake, а версии подешевле появятся в следующем 5 ч.
NASA начало тестировать лунную поверхность на способность принять тяжёлые посадочные модули 12 ч.
TP-Link попала под двойное расследование из-за очень низких цен и угрозы нацбезопасности США 13 ч.
Роботакси на продажу: Waymo задумала предлагать беспилотные авто всем желающим 13 ч.
Curator: в I квартале количество DDoS-атак выросло более чем вдвое, а рекордный ботнет «захватил» сразу 1,33 млн устройств 14 ч.
Акции Intel обвалились на 7 % после провального квартального отчёта 15 ч.
GeForce RTX 5060 поступит в продажу 19 мая, если слухи не врут 17 ч.
Представлен Slate Truck — аналоговый электромобиль за $20 тысяч 17 ч.
Motorola представила смарт-часы Watch Fit с кристаллами Swarovski, а также версию попроще 17 ч.