Освещение компьютерной графики
Освещение компьютерной графики — это набор методов, используемых для имитации света в компьютерной графики сценах . Хотя методы освещения обеспечивают гибкость в уровне детализации и функциональности, они также работают на разных уровнях вычислительных требований и сложности . Художники-графики могут выбирать из множества источников света, моделей, методов затенения и эффектов в соответствии с потребностями каждого приложения.
Источники света [ править ]
Источники света позволяют разными способами вводить свет в графические сцены. [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 г.