Сегодня 02 апреля 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
Тренды 🔥
Мир в коробке с саранчой и одиночный кооператив: подробности отменённого ответвления Disco Elysium про Куно и Куну 36 мин.
Дональд Трамп намерен обсудить сделку с TikTok сегодня 3 ч.
Картинки в стиле Ghibli перегрузили серверы OpenAI — выпуск новых функций замедлен 11 ч.
У Ubisoft пока нет чёткого плана работы новой компании с Tencent — инвесторы и сотрудники нервничают 12 ч.
«Загрузки быстрее, чем в Doom (2016)»: эксперт Digital Foundry остался в восторге от Doom: The Dark Ages 13 ч.
Консоли задержат релиз постапокалиптического стелс-экшена Steel Seed от создателей Close to the Sun — объявлена новая дата выхода 15 ч.
ИИ-модель Llama запустили на ПК из прошлого тысячелетия на базе Windows 98 16 ч.
ChatGPT остаётся самым популярным чат-ботом с ИИ, но у конкурентов аудитория тоже растёт 17 ч.
Google сделает сквозное шифрование в Gmail доступным для всех 17 ч.
Антиутопия на колёсах: новый геймплейный трейлер раскрыл дату выхода приключения Beholder: Conductor про кондуктора легендарного поезда 18 ч.
Meta выпустит умные очки с дисплеем и ценником выше $1000 уже к концу года 4 мин.
В Китае электролётам EHang разрешили перевозить людей по воздуху, но услуги аэротакси пока под запретом 6 мин.
Poco F7 Ultra и Poco F7 Pro — смартфоны с мощными чипами, продвинутыми системами камер и высокой надёжностью 16 мин.
НПК «Атроник» выпустила одноплатный компьютер формата PC/104-Plus с чипом Vortex86 DX3 18 мин.
PQ.Hosting открыла предзаказ серверов в Албании со скидкой 46 % 48 мин.
Hyundai представила Insteroid — концепт электромобиля в стиле гоночных симуляторов 3 ч.
Amazon возобновила доставку товаров дронами в Техасе и Аризоне после двухмесячного перерыва 3 ч.
UMC открыла в Сингапуре новое передовое предприятие, снижая зависимость от Тайваня 5 ч.
Intel: Panther Lake возьмут всё самое лучше от актуальных Core и ангстремного техпроцесса 18A, но выйдут в 2026 году 7 ч.
Новая статья: Выбираем кулер для процессора Intel LGA1700 до 2 000 рублей 11 ч.