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

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

⇣ Содержание

3. Программирование вершин (vertex programming)

Одними из главных инноваций в GeForce3 явились программируемые вершинные шейдеры (programmable vertex shader).

В традиционных графических конвейерах, каждый этап имеет свои заранее известные функции, и эти функции систематически выполняются. Разработчик не может изменить выполняемые функции на каком-нибудь этапе. Ниже приведена диаграмма традиционного графического конвейера.

 Диаграмма традиционного графического конвейера
Диаграмма традиционного графического конвейера

На каждом этапе выполняется ряд функций, которые заранее известны и зашиты в графический процессор. В связи с этим ограничиваются возможности экспериментирования. Поэтому специальные эффекты через графический процессор реализовать сложнее. Все что в нем не определено, должно быть выполнено процессором системы, отнимая драгоценные циклы процессора. nVidia смогла преодолеть это ограничение благодаря добавлению возможности динамически менять конвейер.

 Диаграмма графического конвейера GeForce3
Диаграмма графического конвейера GeForce3

Таким образом, разработчик получает инструмент управления конвейером. Он может динамически вставить кусок кода на ассемблере прямо в конвейер, изменить различные настройки и затем продолжить процесс. Эта черта дает уникальные возможности программистам. Представьте себе что для каждой игры система сама бы выбирала наиболее подходящую графическую карту. Программирование вершинных шейдеров – почти то же самое.

Характерные черты и преимущества вершинного программирования

Ниже перечислены некоторые характерные черты программируемых вершинных шейдеров:

  • Полное управление аппаратным T&L;
  • Сложные вершинные операции аппаратно ускоряются;
  • Попиксельное наложение карт среды может опираться на вершинные данные (pre-vertex set up);
  • Морфинг объектов (character morphing) и теневая проекция (shadow volume projection);
  • Настраиваемое вершинное освещение (vertex lighting);
  • Настраиваемое обтягивание скелета (skinning) и смешение текстур (blending);
  • Настраиваемая генерация координат текстур;
  • Настраиваемые матричные операции с текстурами (texture matrix operations);
  • Настраиваемое освещение в стиле мультфильма (cartoon-style lightning);
  • Программируемое вычисление вершин (vertex computations);
  • Так как вычисление вершин производится графическим чипом, то освобождаются ресурсы центрального процессора. Это позволяет больше ресурсов уделять физической модели мира и имитации объектов.
Итак, вершинное программирование позволяет разработчику создавать впечатляющие сложные эффекты в реальном времени, причем с аппаратным ускорением и без ограничения в количестве существующих функций.

 Процесс вершинного программирования
Процесс вершинного программирования

Можно привести пример вершинного программирования. У вас есть три вершины, формирующие треугольный полигон. Передаем вершины в вершинный манипулятор (vertex manipulator). В нем каждая вершина может быть изменена любым образом, причем количество таких изменений не ограничено. Здесь уже все зависит от воображения программиста. У получившихся вершин могут измениться любые параметры: координаты, цвет и прозрачность. Самое интересное в этом процессе: программист может выбирать, какую вершину он желает изменить. Это могут быть все, одна или вообще ни одной. То есть, он может решить что только вершина No1 и No2 должны быть изменены и переданы дальше. Над следующими тремя вершинами он может поступить совсем другим образом. Конечно, можно изменять каждую следующую вершину в одном и том же цикле, как уж пожелает программист.

Таким образом, разработчик получает возможность реализовывать неограниченное количество спецэффектов над объектами. Эффекты могут применяться как над целым объектом, так и над его частями, для подчеркивания деталей. Мы видим что возможности на самом деле ничем не ограничены, о чем и говорит название "nfiniteFX" (Infinite – бесконечный).

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

window-new
Soft
Hard
Тренды 🔥
OpenAI выпустила ИИ-агента Operator, который будет сидеть в интернете за пользователя 5 ч.
Bethesda подтвердила дату выхода Doom: The Dark Ages — геймплей и системные требования «самой амбициозной игры» id Software 7 ч.
Альтман пообещал доступ к думающей ИИ-модели o3-mini в бесплатной версии ChatGPT 7 ч.
Koei Tecmo анонсировала Ninja Gaiden 4 от PlatinumGames и выпустила ремейк Ninja Gaiden 2 на Unreal Engine 5 7 ч.
Ubisoft показала сюжетный трейлер Assassin's Creed Shadows и подтвердила дополнение Claws of Awaji 8 ч.
Стартап Render, готовый бросить вызов традиционным облакам, привлёк $80 млн на развитие своей платформы для разработчиков 9 ч.
Over the Hill отправит в золотой век бездорожья исследовать дикую природу — трейлер и детали новой игры от создателей Art of Rally 9 ч.
Сертифицированная ФСТЭК России ОС «Альт СП» получила крупное обновление и поддержку процессоров «Эльбрус» 9 ч.
Релиз ремейка Resident Evil 2 на iPhone 16 и iPhone 15 Pro обернулся ещё одним провалом для Capcom 11 ч.
ChatGPT перестал открываться по всему миру — тысячам пользователей пришлось думать самостоятельно 11 ч.
В IV квартале 2024 года SK hynix получила самую большую операционную прибыль в Южной Корее, опередив Samsung 3 ч.
Новая статья: Обзор игрового QD-OLED 4K-монитора Digma Pro Vision L: взгляд свысока 5 ч.
Galaxy S25 получили спутниковую связь Snapdragon Satellite, но Samsung забыла об этом рассказать 6 ч.
SoftBank и OpenAI намерены выделить по $19 млрд на ИИ-проект Stargate, но Маск уверен что на это нет денег 7 ч.
Дебютировал защищённый смартфон MIG S6 на отечественной платформе «РЕД ОС М» 9 ч.
SpaceX отметила 400 успешное возвращение первой ступени ракеты Falcon на Землю 9 ч.
ByteDance намерена потратить $12 млрд на ИИ-ускорители в 2025 году 10 ч.
Китайский гиперзвуковой беспилотник с детонационным двигателем взлетит уже в 2026 году — на год раньше планов 10 ч.
Apple ответит в суде за токсичную и опасную для здоровья химию в ремешках умных часов 11 ч.
«Рег.ру» запустил ленточную платформу для безопасного хранения данных 12 ч.