Попиксельное освещение

редактировать

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

Попиксельное освещение обычно используется с такими методами, как normal mapping, bump mapping, specularity и теневые объемы <48.>. Каждый из этих методов предоставляет некоторые дополнительные данные об освещаемой поверхности или сцене и источниках света, которые вносят свой вклад в окончательный вид и ощущение поверхности.

Большинство современных движков видеоигр реализуют освещение с использованием попиксельных методов вместо вершинного освещения для достижения большей детализации и реализма. Движок id Tech 4, использовавшийся для разработки таких игр, как Brink и Doom 3, был одним из первых игровых движков, реализовавших полностью попиксельное затенение. двигатель. Все версии CryENGINE, Frostbite Engine и Unreal Engine, среди прочего, также реализуют методы попиксельного затенения.

Отложенное затенение - недавняя разработка в попиксельном освещении, известная своим использованием в Frostbite Engine и Battlefield 3. Методы отложенного затенения позволяют недорого рендерить потенциально большое количество небольших источников света (другие подходы к попиксельному освещению требуют полноэкранных вычислений для каждого источника света в сцене, независимо от размера).

Содержание
  • 1 История
  • 2 Аппаратный рендеринг
  • 3 Программный рендеринг
  • 4 Примечания
  • 5 См. Также
  • 6 Внешние ссылки
История

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

Фрэнк Кроу опубликовал статью, описывающую теорию теневых объемов в 1977 году. Этот метод использует буфер трафарета для определения областей экрана, соответствующих лежащим поверхностям. в «теневом объеме» или в форме, представляющей объем пространства, затмеваемый каким-либо объектом от источника света. Эти затененные области обычно затемняются после рендеринга сцены в буферы путем сохранения затененных областей в буфере трафарета.

Джим Блинн впервые представил идею отображения нормалей в статье 1978 года SIGGRAPH. Блинн указал, что более ранняя идея неосвещенного наложения текстуры, предложенная Эдвином Катмаллом, была нереалистичной для моделирования шероховатых поверхностей. Вместо наложения текстуры на объект для имитации шероховатости, Блинн предложил метод расчета степени освещения, которую должна получать точка на поверхности, на основе установленного «возмущения» нормалей по поверхности.

Аппаратный рендеринг

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

Отложенное затенение - это метод попиксельного затенения, который недавно стал применяться в играх. При отложенном затенении «g-буфер» используется для хранения всех терминов, необходимых для затенения финальной сцены на уровне пикселей. Формат этих данных варьируется от приложения к приложению в зависимости от желаемого эффекта и может включать нормальные данные, позиционные данные, зеркальные данные, диффузные данные, карты и альбедо и другие. Используя несколько целей рендеринга, все эти данные могут быть визуализированы в g-буфер за один проход, а шейдер может вычислить окончательный цвет каждого пикселя на основе данных из g-буфера в последнем «отложенном проходе».

Программный рендеринг

Попиксельное освещение также выполняется программно во многих коммерческих приложениях рендеринга высокого класса, которые обычно не выполняют рендеринг с интерактивной частотой кадров. Это называется автономным рендерингом или программным рендерингом. Хорошо известным примером является программное обеспечение рендеринга mental ray от NVidia, которое интегрировано с такими пакетами, как Softimage от Autodesk.

Примечания
  1. ^Кроу, Франклин C: «Алгоритмы теней для компьютерной графики», Computer Graphics (SIGGRAPH '77 Proceedings), vol. 11, вып. 2, 242-248.
  2. ^Блинн, Джеймс Ф. «Моделирование морщинистых поверхностей», Компьютерная графика (SIGGRAPH '78 Proceedings, vol. 12, no. 3, 286-292.
  3. ^Hargreaves, Shawn [pl ] и Марк Харрис: » 6800 лье под водой: отложенное затенение ". Ресурсы разработчика NVidia.
См. Также
Внешние ссылки
Последняя правка сделана 2021-06-01 09:00:36
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте