Освещение компьютерной графики
Освещение компьютерной графики — это набор методов, используемых для имитации света в компьютерной графики сценах . Хотя методы освещения обеспечивают гибкость в уровне детализации и функциональности, они также работают на разных уровнях вычислительных требований и сложности . Художники-графики могут выбирать из множества источников света, моделей, методов затенения и эффектов в соответствии с потребностями каждого приложения.
Источники света
[ редактировать ]Источники света позволяют разными способами вводить свет в графические сцены. [ 1 ] [ 2 ]
Точка
[ редактировать ]Точечные источники излучают свет из одной точки во всех направлениях, причем интенсивность света уменьшается с расстоянием. [ 3 ] Примером точечного источника является автономная лампочка. [ 4 ]

Направленный
[ редактировать ]Направленный источник (или удаленный источник) равномерно освещает сцену с одного направления. [ 4 ] В отличие от точечного источника, интенсивность света, создаваемого направленным источником, не меняется с расстоянием в масштабе сцены, поскольку направленный источник рассматривается так, как будто он находится очень далеко. [ 4 ] Примером направленного источника является солнечный свет на Земле. [ 5 ]
Прожектор
[ редактировать ]Прожектор создает направленный конус света. [ 6 ] Свет становится более интенсивным по мере того, как зритель приближается к источнику прожектора и к центру светового конуса. [ 6 ] Примером прожектора является фонарик. [ 5 ]
Область
[ редактировать ]Зональные источники света — это трехмерные объекты, излучающие свет. В то время как точечные источники света и точечные источники света считаются бесконечно малыми точками, площадные источники света рассматриваются как физические формы. [ 7 ] Зональный свет создает более мягкие тени и более реалистичное освещение, чем точечное освещение и точечное освещение. [ 8 ]
Окружающий
[ редактировать ]Источники окружающего света освещают объекты, даже если нет другого источника света. [ 6 ] Интенсивность окружающего света не зависит от направления, расстояния и других объектов, а это означает, что эффект полностью однороден по всей сцене. [ 6 ] Этот источник гарантирует видимость объектов даже в полной темноте. [ 5 ]
Световая деформация
[ редактировать ]Lightwarp — это метод, при котором объект в геометрическом мире преломляет свет в зависимости от направления и интенсивности света. Затем свет искажается с использованием рассеянного термина с диапазоном цветового спектра . Свет затем может отражательно рассеиваться для создания большей глубины резкости и преломляться . Этот метод используется для создания уникального стиля рендеринга и может использоваться для ограничения переэкспонирования объектов. В таких играх, как Team Fortress 2, используется техника рендеринга для создания стилизованного мультяшного вида с затенением cel . [ 9 ]
HDRI
[ редактировать ]HDRI означает «изображение с расширенным динамическим диапазоном» и представляет собой изображение на 360 °, которое оборачивается вокруг 3D-модели в качестве наружной обстановки и обычно использует солнце в качестве источника света на небе. Текстуры рассеянный модели могут отражать прямой и свет и цвета HDRI. [ 10 ]
Взаимодействие с освещением
[ редактировать ]В компьютерной графике общее воздействие источника света на объект определяется комбинацией взаимодействий объекта с ним, обычно описываемых как минимум тремя основными компонентами. [ 11 ] Три основных компонента освещения (и последующие типы взаимодействия) — рассеянное, рассеянное и зеркальное. [ 11 ]

Диффузный
[ редактировать ]Рассеянное освещение (или диффузное отражение ) — это прямое освещение объекта равномерным количеством света, взаимодействующего со светорассеивающей поверхностью. [ 4 ] [ 12 ] После того, как свет попадает на объект, он отражается в зависимости от свойств поверхности объекта, а также от угла падающего света. [ 12 ] Это взаимодействие вносит основной вклад в яркость объекта и формирует основу его цвета. [ 13 ]
Окружающий
[ редактировать ]Поскольку окружающий свет не имеет направления, он равномерно взаимодействует со всеми поверхностями, а его интенсивность определяется силой источников окружающего света и свойствами материалов поверхности объектов, а именно их коэффициентами отражения от окружающей среды . [ 13 ] [ 12 ]
Зеркальный
[ редактировать ]Компонент зеркального освещения придает объектам блеск и подсветку. [ 13 ] Это отличается от зеркальных эффектов, поскольку в этих отражениях не видны другие объекты окружающей среды. [ 12 ] Вместо этого зеркальное освещение создает яркие пятна на объектах в зависимости от интенсивности компонента зеркального освещения и коэффициента зеркального отражения поверхности. [ 12 ]
Модели освещения
[ редактировать ]Модели освещения используются для воспроизведения эффектов освещения в визуализированных средах, где свет аппроксимируется на основе физики света. [ 14 ] Без моделей освещения воспроизведение световых эффектов в том виде, в котором они происходят в естественном мире, потребовало бы большей вычислительной мощности, чем это практически возможно для компьютерной графики. [ 14 ] Целью этой модели освещения или освещения является вычисление цвета каждого пикселя или количества света, отраженного от различных поверхностей сцены. [ 15 ] Существует две основные модели освещения: объектно-ориентированное освещение и глобальное освещение. [ 16 ] Они отличаются тем, что объектно-ориентированное освещение рассматривает каждый объект индивидуально, тогда как глобальное освещение отображает взаимодействие света между объектами. [ 16 ] В настоящее время исследователи разрабатывают методы глобального освещения, чтобы более точно воспроизвести, как свет взаимодействует с окружающей средой. [ 16 ]
Объектно-ориентированное освещение
[ редактировать ]Объектно-ориентированное освещение, также известное как локальное освещение, определяется путем сопоставления одного источника света с одним объектом. [ 17 ] Этот метод быстро вычисляется, но часто является неполным приближением того, как свет будет вести себя в сцене в реальности. [ 17 ] Его часто аппроксимируют суммированием комбинации зеркального, рассеянного и окружающего света конкретного объекта. [ 14 ] Двумя преобладающими моделями местного освещения являются модели освещения Фонга и Блинна-Фонга. [ 18 ]
Модель подсветки Фонга
[ редактировать ]Одной из наиболее распространенных моделей отражения является модель Фонга. [ 14 ] Модель Фонга предполагает, что интенсивность каждого пикселя представляет собой сумму интенсивности рассеянного, зеркального и окружающего освещения. [ 17 ] Эта модель учитывает местоположение зрителя для определения зеркального света по углу света, отражающегося от объекта. [ 18 ] Берется косинус угла и возводится в степень , определенную проектировщиком. [ 17 ] Благодаря этому дизайнер может решить, насколько широкая подсветка объекта ему нужна; из-за этого мощность называется значением блеска. [ 18 ] Значение блеска определяется шероховатостью поверхности, где зеркало имело бы значение бесконечности, а самая шероховатая поверхность могла бы иметь значение, равное единице. [ 17 ] Эта модель создает более реалистичный белый свет в зависимости от точки зрения зрителя. [ 14 ]
Модель освещения Блинна-Фонга
[ редактировать ]Модель освещения Блинна-Фонга аналогична модели Фонга, поскольку она использует зеркальный свет для создания бликов на объекте на основе его блеска. [ 19 ] Модель Блинна-Фонга отличается от модели освещения Фонга, поскольку модель Блинна-Фонга использует вектор, нормальный к поверхности объекта и находящийся на полпути между источником света и зрителем. [ 14 ] Эта модель используется для получения точного зеркального освещения и сокращения времени вычислений. [ 14 ] Этот процесс занимает меньше времени, поскольку определение направления вектора отраженного света является более сложным вычислением, чем вычисление среднего вектора нормали . [ 19 ] Хотя это похоже на модель Фонга, она дает другие визуальные результаты, и показатель зеркального отражения или блеск может нуждаться в модификации, чтобы получить аналогичное зеркальное отражение. [ 20 ]
Глобальное освещение
[ редактировать ]Глобальное освещение отличается от локального освещения, поскольку оно рассчитывает свет, распространяющийся по всей сцене. [ 16 ] Это освещение в большей степени основано на физике и оптике: лучи света рассеиваются, отражаются и бесконечно отражаются по всей сцене. [ 21 ] Все еще ведутся активные исследования глобального освещения, поскольку оно требует больше вычислительной мощности, чем локальное освещение. [ 22 ]
Трассировка лучей
[ редактировать ]
Источники света излучают лучи, которые взаимодействуют с различными поверхностями посредством поглощения, отражения или преломления. [ 3 ] Наблюдатель сцены увидит любой источник света, попадающий в его глаза; луч, не дошедший до наблюдателя, остается незамеченным. [ 23 ] Это можно смоделировать, если все источники света излучают лучи, а затем вычислить, как каждый из них взаимодействует со всеми объектами на сцене. [ 24 ] Однако этот процесс неэффективен, поскольку большая часть световых лучей не достигнет наблюдателя и приведет к потере времени обработки. [ 25 ] Трассировка лучей решает эту проблему, обращая процесс вспять: вместо этого отправляя лучи обзора от наблюдателя и вычисляя, как они взаимодействуют, пока они не достигнут источника света. [ 24 ] Хотя этот способ более эффективно использует время обработки и создает симуляцию света, точно имитирующую естественное освещение, трассировка лучей по-прежнему требует больших вычислительных затрат из-за большого количества света, попадающего в глаза зрителя. [ 26 ]
Радиосити
[ редактировать ]Излучение учитывает энергию, выделяемую окружающими объектами и источником света. [ 16 ] В отличие от трассировки лучей, которая зависит от положения и ориентации наблюдателя, излучательное освещение не зависит от положения обзора. [ 25 ] Излучение требует большей вычислительной мощности, чем трассировка лучей, но может быть более полезным для сцен со статическим освещением, поскольку его нужно будет вычислить только один раз. [ 27 ] Поверхности сцены можно разделить на большое количество участков; каждый патч излучает некоторое количество света и влияет на другие патчи, тогда необходимо одновременно решить большой набор уравнений, чтобы получить окончательную излучательность каждого патча. [ 26 ]
Фотонное картирование
[ редактировать ]Фотонное картирование было создано как двухпроходный алгоритм глобального освещения, который более эффективен, чем трассировка лучей. [ 28 ] Это основной принцип отслеживания фотонов, испускаемых источником света, через ряд этапов. [ 28 ] Первый проход включает в себя фотоны, испускаемые источником света и отражающиеся от своего первого объекта; Затем записывается эта карта расположения фотонов. [ 22 ] Карта фотонов содержит как положение, так и направление каждого фотона, который либо отскакивает, либо поглощается. [ 28 ] Второй проход происходит при рендеринге , при котором отражения рассчитываются для разных поверхностей. [ 29 ] В этом процессе фотонная карта отделена от геометрии сцены, а это значит, что рендеринг можно рассчитывать отдельно. [ 22 ] Это полезный метод, поскольку он позволяет моделировать каустику, а этапы предварительной обработки не нужно повторять, если вид или объекты изменяются. [ 29 ]
Полигональная штриховка
[ редактировать ]Полигональное затенение — это часть процесса растеризации , при котором 3D- модели рисуются как 2D- пиксельные изображения. [ 18 ] Затенение применяет модель освещения в сочетании с геометрическими атрибутами 3D-модели, чтобы определить, как освещение должно быть представлено в каждом фрагменте (или пикселе) результирующего изображения. [ 18 ] Полигоны . 3D-модели хранят геометрические значения, необходимые для процесса затенения [ 30 ] Эта информация включает в себя вершин значения положения и нормали поверхности , но может содержать дополнительные данные, такие как текстуры и рельефа . карты [ 31 ]



Плоская штриховка
[ редактировать ]Плоская затенение — это простая модель затенения с равномерным применением освещения и цвета на полигон. [ 32 ] Цвет и нормаль одной вершины используются для расчета затенения всего многоугольника. [ 18 ] Плоское затенение стоит недорого, поскольку освещение для каждого полигона нужно рассчитывать только один раз за рендер. [ 32 ]
Растушевка по Гуро
[ редактировать ]Затенение Гуро — это тип интерполированного затенения, при котором значения внутри каждого многоугольника представляют собой смесь значений его вершин. [ 18 ] Каждой вершине присваивается своя нормаль, состоящая из среднего значения нормалей поверхностей окружающих многоугольников. [ 32 ] Затем освещение и затенение в этой вершине рассчитываются с использованием средней нормали и выбранной модели освещения. [ 32 ] Этот процесс повторяется для всех вершин 3D-модели. [ 2 ] Затем затенение ребер между вершинами рассчитывается путем интерполяции между значениями вершин. [ 2 ] Наконец, затенение внутри многоугольника рассчитывается как интерполяция значений окружающих краев. [ 2 ] Затенение Гуро создает эффект плавного освещения по всей поверхности 3D-модели. [ 2 ]
Затенение Фонга
[ редактировать ]Затенение Фонга , похожее на затенение Гуро, — это еще один тип интерполяционного затенения, при котором значения вершин смешиваются для затенения полигонов. [ 21 ] Ключевое различие между ними заключается в том, что затенение Фонга интерполирует значения нормалей вершин по всему многоугольнику перед вычислением его затенения. [ 32 ] Это контрастирует с затенением Гуро, которое интерполирует уже закрашенные значения вершин по всему многоугольнику. [ 21 ] После того как затенение Фонга вычислило нормаль фрагмента (пикселя) внутри многоугольника, оно может применить модель освещения, затенив этот фрагмент. [ 32 ] Этот процесс повторяется до тех пор, пока каждый полигон 3D-модели не будет закрашен. [ 21 ]
Световые эффекты
[ редактировать ]
Каустика
[ редактировать ]Каустика — это эффект света, отраженного и преломленного в среде с изогнутыми границами раздела или отраженного от искривленной поверхности. [ 33 ] Они выглядят как ленты концентрированного света и их часто можно увидеть, глядя на водоемы или стекло. [ 34 ] Каустику можно реализовать в 3D-графике путем смешивания карты текстуры каустики с картой текстур затронутых объектов. [ 34 ] Текстура каустики может быть либо статическим изображением, анимированным для имитации эффектов каустики, либо расчетом каустики в реальном времени на пустом изображении. [ 34 ] Последний более сложен и требует обратной трассировки лучей для имитации фотонов, движущихся в среде 3D-рендеринга. [ 33 ] В модели освещения с фотонным картированием выборка Монте-Карло используется в сочетании с трассировкой лучей для расчета интенсивности света, вызванного каустиками. [ 33 ]
Отображение отражений
[ редактировать ]Отображение отражений (также известное как отображение окружения) — это метод, который использует двумерные карты окружения для создания эффекта отражательной способности без использования трассировки лучей. [ 35 ] Поскольку внешний вид отражающих объектов зависит от относительного положения зрителей, объектов и окружающей среды, графические алгоритмы создают векторы отражения, чтобы определить, как раскрасить объекты на основе этих элементов. [ 36 ] Используя 2D-карты окружающей среды, а не полностью визуализированные 3D-объекты для представления окружения, отражения на объектах можно определить с помощью простых и недорогих в вычислительном отношении алгоритмов. [ 35 ]
Системы частиц
[ редактировать ]Системы частиц используют коллекции мелких частиц для моделирования хаотичных и сложных событий, таких как пожар, движение жидкостей, взрывы и движение волос. [ 37 ] Частицы, составляющие сложную анимацию, распределяются эмиттером, который придает каждой частице ее свойства, такие как скорость, продолжительность жизни и цвет. [ 37 ] Со временем эти частицы могут двигаться, менять цвет или изменять другие свойства в зависимости от эффекта. [ 37 ] Обычно системы частиц включают в себя случайность , например, в начальных свойствах, которые эмиттер придает каждой частице, чтобы сделать эффект реалистичным и неоднородным. [ 37 ] [ 38 ]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Свет: искусство воздействия» . ГаражФерма . 11.11.2020 . Проверено 11 ноября 2020 г.
- ^ Jump up to: а б с д и «Введение в компьютерную графику: освещение и затенение» . www.cs.uic.edu . Проверено 5 ноября 2019 г.
- ^ Jump up to: а б «Введение в компьютерную графику: освещение и затенение» . www.cs.uic.edu . Проверено 5 ноября 2019 г.
- ^ Jump up to: а б с д «Освещение в 3D графике» . www.bccang.com . Проверено 5 ноября 2019 г.
- ^ Jump up to: а б с «Понимание различных типов света» . www.pluralsight.com . Проверено 5 ноября 2019 г.
- ^ Jump up to: а б с д «Введение в компьютерную графику: освещение и затенение» . www.cs.uic.edu . Проверено 5 ноября 2019 г.
- ^ Лагард, Себастьян; де Русье, Шарль (лето 2014 г.). Перенос Frostbite на физически обоснованный рендеринг 3.0 . СИГГРАФ.
- ^ Фарр, Мэтт; Хамфрис, Грег; Венцель, Якоб (2016). Физически обоснованный рендеринг: от теории к реализации (3-е изд.). Морган Кауфманн. ISBN 978-0128006450 .
- ^ Вернь, Ромен; Пакановский, Ромен; Барла, Паскаль; Гранье, Ксавье; Шлик, Кристоф (19 февраля 2010 г.). «Масштабирование сияния для универсального улучшения поверхности» . Материалы симпозиума ACM SIGGRAPH 2010 года по интерактивной 3D-графике и играм . АКМ. стр. 143–150. дои : 10.1145/1730804.1730827 . ISBN 9781605589398 . S2CID 18291692 – через hal.inria.fr.
- ^ https://visao.ca/what-is-hdri/#:~:text=High%20dynamic%20range%20images%20are,look%20cartoonish%20and%20less%20professional .
- ^ Jump up to: а б «Освещение в 3D графике» . www.bccang.com . Проверено 5 ноября 2019 г.
- ^ Jump up to: а б с д и Поллард, Нэнси (весна 2004 г.). «Освещение и затенение» (PDF) .
- ^ Jump up to: а б с «Освещение в 3D графике» . www.bccang.com . Проверено 5 ноября 2019 г.
- ^ Jump up to: а б с д и ж г «Изучение OpenGL — Базовое освещение» . Learnopengl.com . Проверено 08.11.2019 .
- ^ «Введение в компьютерную графику: освещение и затенение» . www.cs.uic.edu . Проверено 08.11.2019 .
- ^ Jump up to: а б с д и «Глобальное освещение» (PDF) . Технические классы Джорджии . 2002.
- ^ Jump up to: а б с д и Фаррелл. «Местное освещение» . Кентский университет .
- ^ Jump up to: а б с д и ж г «Компьютерная графика: тени и освещение» . cglearn.codelight.eu . Проверено 30 октября 2019 г.
- ^ Jump up to: а б Джеймс Ф. Блинн (1977). «Модели отражения света для компьютерно-синтезированных изображений». Учеб. 4-я ежегодная конференция по компьютерной графике и интерактивным технологиям : 192–198. CiteSeerX 10.1.1.131.7741. дои : 10.1145/563858.563893
- ^ Университет Джейкоба, « Модель отражения Блинна-Фонга », 2010.
- ^ Jump up to: а б с д Ли, Хао (2018). «Штриховка в OpenGL» (PDF) .
- ^ Jump up to: а б с Ли, Хао (осень 2018 г.). «Глобальное освещение» (PDF) .
- ^ «Представляем платформу трассировки лучей NVIDIA RTX» . Разработчик NVIDIA . 06.03.2018 . Проверено 08.11.2019 .
- ^ Jump up to: а б Рейф, Дж. Х. (1994). « Вычислимость и сложность трассировки лучей » (PDF) . Дискретная и вычислительная геометрия .
- ^ Jump up to: а б Уоллес, Джон Р.; Коэн, Майкл Ф.; Гринберг, Дональд П. (1987). «Двухпроходное решение уравнения рендеринга: синтез методов трассировки лучей и радиации». Материалы 14-й ежегодной конференции по компьютерной графике и интерактивным технологиям . СИГРАФ '87. Нью-Йорк, штат Нью-Йорк, США: ACM: 311–320. дои : 10.1145/37401.37438 . ISBN 9780897912273 .
- ^ Jump up to: а б Гринберг, Дональд П. (14 апреля 1989 г.). «Модели отражения света для компьютерной графики». Наука . 244 (4901): 166–173. Бибкод : 1989Sci...244..166G . дои : 10.1126/science.244.4901.166 . ISSN 0036-8075 . ПМИД 17835348 . S2CID 46575183 .
- ^ Синди Горал, Кеннет Э. Торранс, Дональд П. Гринберг и Б. Баттайл, « Моделирование взаимодействия света между диффузными поверхностями », Компьютерная графика , Vol. 18, № 3. ( PDF )
- ^ Jump up to: а б с Ванн Йенсен, Хенрик (1996). « Глобальное освещение с использованием фотонных карт. Архивировано 8 августа 2008 г. в Wayback Machine » (PDF) . Техники рендеринга '96 : 21–30.
- ^ Jump up to: а б «Фотонное картирование — Зак Уотерс» . web.cs.wpi.edu . Проверено 08.11.2019 .
- ^ «Введение в компьютерную графику, раздел 4.1 — Введение в освещение» . math.hws.edu .
- ^ «Спецификация вершин — OpenGL Wiki» . www.khronos.org . Проверено 6 ноября 2019 г.
- ^ Jump up to: а б с д и ж Фоли. «Модели освещения и затенение» (PDF) .
- ^ Jump up to: а б с «ГПУ-самоцветы» . Разработчик NVIDIA . Проверено 30 октября 2019 г.
- ^ Jump up to: а б с «Каустическое текстурирование воды с использованием Unity 3D» . www.dualheights.se . Проверено 6 ноября 2019 г.
- ^ Jump up to: а б «Компьютерная графика: картографирование окружающей среды» . cglearn.codelight.eu . Проверено 1 ноября 2019 г.
- ^ Шен, Хан-Вэй. «Картирование окружающей среды» (PDF) .
- ^ Jump up to: а б с д Бэйли, Майк. «Системы частиц» (PDF) .
- ^ «Системы частиц» . web.cs.wpi.edu . Проверено 1 ноября 2019 г.