Сегодня 18 сентября 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
Тренды 🔥
Студия ветерана Blizzard анонсировала динамичный изометрический боевик Arkheron — смесь Diablo и королевской битвы 43 мин.
Даже авторы сценария The Wolf Among Us 2 не знают, что происходит с игрой 2 ч.
Nothing анонсировала OS 4.0 — интерфейс стал проще, а камера умнее 4 ч.
Paradox добавила возмутившие фанатов платные кланы в стандартное издание Vampire: The Masquerade — Bloodlines 2 и анонсировала два сюжетных DLC 4 ч.
Жертвы утечки данных Facebook через Cambridge Analytica начали получать выплаты от Цукерберга 5 ч.
Энтузиаст запустил классическую Doom на старом КПК и оставил работать — игра вылетела спустя два с половиной года 5 ч.
В мессенджере Max начинаются «открытые» тесты каналов — создавать их разрешат блогерам из реестра РКН 5 ч.
В России выплатили первую зарплату в цифровых рублях 6 ч.
На официальном сайте Like a Dragon засветилась Yakuza Kiwami 3 — Ryu Ga Gotoku Studio готовит анонс ремейка Yakuza 3 7 ч.
Microsoft обратилась к ИИ от Anthropic для Visual Studio Code — OpenAI больше не в почёте 8 ч.
Глава NVIDIA разочарован запретом Китая на покупку RTX Pro 6000D, но все вопросы будут решаться на высшем уровне 9 мин.
Журналисты протестировали Apple Watch Series 11, Ultra 3 и SE 3 — всем нравится младшая модель 45 мин.
CoreWeave инвестирует ещё £1,5 млрд в британские ИИ ЦОД 49 мин.
Российский специалист по ремонту ПК-оборудования VIK-on выпустил DDR5-тестер для ноутбуков 2 ч.
Garmin выпустила смарт-часы Venu 4 — улучшенные функции, светодиодный фонарик и цена от $550 2 ч.
iPhone 17 Pro обласкали в первых обзорах: «значительное обновление, вызывающее восторг» 2 ч.
СМИ и блогеры протестировали iPhone Air: «ультратонкий смартфон не без компромиссов» 2 ч.
Вышли первые обзоры iPhone 17: «лучший вариант базовой модели за последние годы» 2 ч.
Patriot представила два PCIe 5.0 SSD: Viper PV563 среднего уровня и PA523 — начального 3 ч.
Завтра утром недалеко от Земли пролетит огромный астероид 2025 FA22, и за ним можно понаблюдать онлайн 4 ч.