Сегодня 19 июля 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
Тренды 🔥
Новая статья: Cast n Chill — вы, сэр, рыба. Рецензия 4 ч.
Кооперативный боевик Contraband от создателей Just Cause всё ещё жив, но оказался игрой-сервисом 6 ч.
Meta отказалась соблюдать «чрезмерные» правила разработки ИИ, предложенные ЕС 7 ч.
Microsoft уличили в допуске китайцев к секретным облачными системами Пентагона 8 ч.
Legacy of the Forge «уже не за горами» — Warhorse раскрыла, когда ждать новостей о втором дополнении к Kingdom Come: Deliverance 2 8 ч.
Перевод на русский, Denuvo и первые детали геймплея: Persona 4 Revival получила страницу в Steam 9 ч.
Netflix призналась, что начала использовать ИИ при создании сериалов 10 ч.
Фэнтезийная 4X-стратегия Endless Legend 2 от создателей Humankind не выйдет 7 августа в раннем доступе Steam, но есть и хорошая новость 11 ч.
iOS 26 защитит пользователей iPhone от телефонных спамеров 11 ч.
ЕС рассказал разработчикам ИИ с системными рисками, как не нарваться на огромные штрафы 11 ч.
Углеродные выбросы Amazon выросли в 2024 году на 6 % из-за ИИ ЦОД и любителей шопинга 4 ч.
Австрийцы упаковали электромобильный аккумулятор в корпус из дерева и стали 7 ч.
В Роттердаме запустят беспилотные рейсовые автобусы между городом и аэропортом 8 ч.
Asus представила материнскую плату ROG Strix X870-H Gaming WiFi7 S с ярким аниме-дизайном 8 ч.
ASRock представила плату X870E Taichi OCF для экстремального разгона Ryzen 9000 и другие новинки с AM5 10 ч.
США намерены ослабить влияние Китая на подводную интернет-инфраструктуру, но у них это вряд ли получится 11 ч.
Российские учёные создали фотонный детектор с «обонянием» — он учует опасные газы в воздухе, диабет и алкогольную вечеринку 12 ч.
Передовые твердотельные батареи в электромобилях появятся в лучшем случае через пять лет 12 ч.
В России впервые запущено производство особо чистого тетрахлорида германия для выпуска оптоволокна 14 ч.
Китайский охотник за астероидами испытал камеры на Земле и Луне — и поделился впечатляющими снимками 15 ч.