Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Источники света [ править ]

Источники света позволяют по-разному вводить свет в графические сцены. [1]

Point [ править ]

Точечные источники излучают свет из одной точки во всех направлениях, причем интенсивность света уменьшается с расстоянием. [2] Примером точечного источника является автономная лампочка. [3]

Направленный источник света, освещающий местность.

Направленный [ править ]

Направленный источник (или удаленный источник) равномерно освещает сцену с одного направления. [3] В отличие от точечного источника, интенсивность света, создаваемого направленным источником, не изменяется с расстоянием, поскольку направленный источник рассматривается как находящийся очень далеко от сцены. [3] Примером направленного источника является солнечный свет. [4]

В центре внимания [ править ]

Прожектор дает направленный световой конус . [2] Свет становится более интенсивным ближе к источнику прожектора и к центру светового конуса. [2] Пример прожектора - фонарик. [4]

Окружающий [ править ]

Источники окружающего света освещают объекты даже при отсутствии других источников света. [2] Интенсивность окружающего света не зависит от направления, расстояния и других объектов, что означает, что эффект полностью однороден по всей сцене. [2] Этот источник гарантирует, что объекты будут видны даже в полной темноте. [4]

Взаимодействие с освещением [ править ]

В компьютерной графике свет обычно состоит из нескольких компонентов. [5] Общее воздействие источника света на объект определяется комбинацией взаимодействий объекта с этими компонентами. [5] Три основных компонента освещения (и последующих типов взаимодействия) - это диффузное, окружающее и зеркальное. [5]

Декомпозиция световых взаимодействий.

Распространение [ править ]

Рассеянное освещение (или диффузное отражение ) - это прямое освещение объекта ровным количеством света, взаимодействующего со светорассеивающей поверхностью. [6] [7] После того, как свет падает на объект, он отражается в зависимости от свойств поверхности объекта, а также угла падающего света. [7] Это взаимодействие вносит основной вклад в яркость объекта и формирует основу для его цвета. [6]

Окружающий [ править ]

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

Specular [ править ]

Компонент зеркального освещения придает объектам сияние и блики. [6] Это отличается от зеркальных эффектов, потому что другие объекты в окружающей среде не видны в этих отражениях. [7] Вместо этого зеркальное освещение создает яркие пятна на объектах на основе интенсивности компонента зеркального освещения и коэффициента зеркального отражения поверхности. [7]

Модели освещения [ править ]

Модели освещения используются для имитации световых эффектов в визуализированных средах, где свет аппроксимируется на основе физики света. [8] Без моделей освещения воспроизведение световых эффектов в естественном виде потребовало бы большей вычислительной мощности, чем это практично для компьютерной графики. [8] Эта модель освещения или освещения предназначена для вычисления цвета каждого пикселя или количества света, отраженного от различных поверхностей в сцене. [9] Существует две основные модели освещения: объектно-ориентированное освещение и глобальное освещение. [10] Они отличаются тем, что объектно-ориентированное освещение рассматривает каждый объект индивидуально, тогда как глобальное освещение отображает, как свет взаимодействует между объектами.[10] В настоящее время исследователи разрабатывают методы глобального освещения, чтобы более точно воспроизвести, как свет взаимодействует с окружающей средой. [10]

Объектно-ориентированное освещение [ править ]

Объектно-ориентированное освещение, также известное как локальное освещение, определяется путем сопоставления одного источника света с одним объектом. [11] Этот метод быстр в вычислении, но часто является неполным приближением того, как свет будет вести себя в сцене в действительности. [11] Это часто аппроксимируется путем суммирования комбинации зеркального, рассеянного и окружающего света определенного объекта. [8] Двумя преобладающими моделями местного освещения являются модели освещения Фонга и Блинна-Фонга. [12]

Модель освещения Фонга [ править ]

Одна из самых распространенных моделей затенения - модель Фонга. [8] Модель Фонга предполагает, что интенсивность каждого пикселя является суммой интенсивности из-за диффузного, зеркального и окружающего освещения. [11] Эта модель учитывает расположение зрителя для определения зеркального света с использованием угла света, отражающегося от объекта. [12] косинус угла берется и возведенный в степень решила дизайнер. [11] Таким образом, дизайнер может решить, насколько широкой подсветкой он хочет выделить объект; из-за этого мощность называется значением блеска. [12]Значение блеска определяется шероховатостью поверхности, где зеркало может иметь значение бесконечности, а самая грубая поверхность может иметь значение единицы. [11] Эта модель создает более реалистичную белую подсветку в зависимости от перспективы зрителя. [8]

Модель освещения Блинн-Фонга [ править ]

Модель освещения Блинна-Фонга похожа на модель Фонга, поскольку в ней используется зеркальный свет для создания бликов на объекте на основе его сияния. [13] Блинн-Фонг отличается от модели освещения Фонга, поскольку модель Блинн-Фонга использует вектор, нормальный к поверхности объекта и находящийся на полпути между источником света и наблюдателем. [8] Эта модель используется для получения точного зеркального освещения и сокращения времени вычислений. [8] Этот процесс занимает меньше времени, потому что определение направления вектора отраженного света является более сложным вычислением, чем вычисление среднего вектора нормали . [13]Хотя эта модель похожа на модель Фонга, она дает разные визуальные результаты, и для получения аналогичного зеркального отражения может потребоваться изменение степени зеркального отражения или блеска. [14]

Глобальное освещение [ править ]

Глобальное освещение отличается от местного, потому что оно рассчитывает свет, который будет распространяться по всей сцене. [10] Это освещение в большей степени основано на физике и оптике, поскольку световые лучи рассеиваются, отражаются и неограниченно отражаются по всей сцене. [15] Все еще ведутся активные исследования глобального освещения, так как оно требует большей вычислительной мощности, чем локальное освещение. [16]

Трассировка лучей [ править ]

Изображение визуализировано с использованием трассировки лучей

Источники света испускают лучи, которые взаимодействуют с различными поверхностями посредством поглощения, отражения или преломления. [1] Наблюдатель сцены будет видеть любой источник света, который достигает их глаз; луч, не доходящий до наблюдателя, остается незамеченным. [17] Это можно смоделировать, если все источники света испускают лучи, а затем вычислить, как каждый из них взаимодействует со всеми объектами сцены. [18] Однако этот процесс неэффективен, поскольку большая часть световых лучей не достигнет наблюдателя и будет тратить время обработки. [19] Трассировка лучей решает эту проблему, обращая процесс вспять, вместо этого отправляя лучи обзора от наблюдателя и вычисляя, как они взаимодействуют, пока не достигнут источника света. [18]Хотя этот способ более эффективно использует время обработки и создает имитацию света, максимально имитирующую естественное освещение, трассировка лучей по-прежнему связана с высокими вычислительными затратами из-за большого количества света, попадающего в глаза зрителя. [20]

Radiosity [ править ]

Излучение учитывает энергию, излучаемую окружающими объектами и источником света. [10] В отличие от трассировки лучей, которая зависит от положения и ориентации наблюдателя, лучистое освещение не зависит от положения обзора. [19] Radiosity требует большей вычислительной мощности, чем трассировка лучей, но может быть более полезным для сцен со статическим освещением, поскольку его нужно вычислить только один раз. [21] Поверхности сцены можно разделить на большое количество фрагментов; каждое пятно излучает некоторый свет и влияет на другие участки, тогда необходимо одновременно решить большой набор уравнений, чтобы получить окончательное излучение каждого участка. [20]

Фотонное отображение [ править ]

Фотонное отображение было создано как двухпроходный алгоритм глобального освещения, который более эффективен, чем трассировка лучей. [22] Это основной принцип отслеживания фотонов, испускаемых источником света, через ряд этапов. [22] Первый проход включает фотоны, высвобождаемые из источника света и отражающиеся от их первого объекта; затем записывается эта карта расположения фотонов. [16]  Карта фотонов содержит положение и направление каждого фотона, который либо отскакивает, либо поглощается. [22] Второй проход происходит при рендеринге, когда отражения рассчитываются для разных поверхностей. [23]В этом процессе карта фотонов отделяется от геометрии сцены, что означает, что рендеринг может быть рассчитан отдельно. [16] Это полезный метод, потому что он может моделировать каустику, и шаги предварительной обработки не нужно повторять, если вид или объекты меняются. [23]

Полигональная штриховка [ править ]

Полигональное затенение является частью процесса растеризации, когда 3D- модели рисуются как 2D- пиксельные изображения. [12] Затенение применяет модель освещения в сочетании с геометрическими атрибутами 3D-модели, чтобы определить, как освещение должно быть представлено в каждом фрагменте (или пикселе) результирующего изображения. [12] В многоугольниках модельного магазина 3D геометрические значения , необходимых для процесса затенения. [24] Эта информация включает в себя значения положения вершин и нормали к поверхности , но может содержать дополнительные данные, такие как текстура икарты рельефа . [25]

Пример плоской штриховки.
Пример штриховки Гуро.
Пример штриховки Фонга.

Плоское затенение [ править ]

Плоское затенение - это простая модель затенения с равномерным применением освещения и цвета для каждого полигона. [26] Цвет и нормаль одной вершины используются для вычисления затенения всего многоугольника. [12] Плоское затенение стоит недорого, поскольку освещение для каждого полигона необходимо рассчитывать только один раз за визуализацию. [26]

Затенение по Гуро [ править ]

Затенение по Гуро - это тип интерполированного затенения, в котором значения внутри каждого многоугольника представляют собой смесь значений его вершин. [12] Каждой вершине дается собственная нормаль, состоящая из среднего значения нормалей к поверхности окружающих многоугольников. [26] Затем вычисляется освещение и затенение в этой вершине с использованием средней нормали и выбранной модели освещения. [26] Этот процесс повторяется для всех вершин в 3D-модели. [27] Затем вычисляется затенение краев между вершинами путем интерполяции между значениями вершин. [27] Наконец, затенение внутри многоугольника вычисляется как интерполяция значений окружающих краев. [27]Затенение Гуро создает плавный световой эффект на поверхности 3D-модели. [27]

Затенение Фонга [ править ]

Затенение Фонга , аналогичное затенению по Гуро, представляет собой другой тип интерполяционного затенения, который смешивает значения вершин с затенением многоугольников. [15] Ключевое различие между ними состоит в том, что затенение Фонга интерполирует нормальные значения вершин по всему многоугольнику, прежде чем вычислить его затенение. [26] Это контрастирует с затенением по Гуро, которое интерполирует уже затененные значения вершин по всему многоугольнику. [15] После того, как функция затенения Фонга рассчитала нормаль фрагмента (пикселя) внутри многоугольника, она может применить модель освещения, затеняя этот фрагмент. [26] Этот процесс повторяется до тех пор, пока каждый многоугольник 3D-модели не будет закрашен. [15]

Световые эффекты [ править ]

Светоотражающий материал, демонстрирующий каустику.

Каустики [ править ]

Каустика - это световой эффект отраженного и преломленного света, движущегося через среду. [28] Они выглядят как ленты концентрированного света и часто видны при взгляде на воду или стекло. [29] Каустика может быть реализована в трехмерной графике путем смешивания карты текстуры каустика с картой текстуры затронутых объектов. [29] Текстура каустики может быть либо статическим изображением, которое анимировано для имитации эффектов каустики, либо расчетом каустики в реальном времени на пустом изображении. [29] Последний вариант более сложен и требует обратной трассировки лучей для имитации фотонов, движущихся через среду 3D-рендеринга. [28]В модели освещения с фотонным картированием выборка Монте-Карло используется в сочетании с трассировкой лучей для вычисления интенсивности света, вызванного каустикой. [28]

Отображение отражения [ править ]

Отображение отражения (также известное как отображение среды) - это метод, который использует двухмерные карты среды для создания эффекта отражательной способности без использования трассировки лучей. [30] Поскольку внешний вид отражающих объектов зависит от относительного положения зрителей, объектов и окружающей среды, графические алгоритмы создают векторы отражения, чтобы определить, как раскрасить объекты на основе этих элементов. [31] Используя 2D-карты окружающей среды, а не полностью визуализированные, 3D-объекты для представления окружающей среды, отражения от объектов можно определить с помощью простых, недорогих в вычислительном отношении алгоритмов. [30]

Системы частиц [ править ]

Системы частиц используют наборы мелких частиц для моделирования хаотических событий высокой сложности, таких как пожар, движущиеся жидкости, взрывы и движущиеся волосы. [32] Частицы, составляющие сложную анимацию, распределяются эмиттером, который придает каждой частице ее свойства, такие как скорость, продолжительность жизни и цвет. [32] Со временем эти частицы могут двигаться, менять цвет или изменять другие свойства, в зависимости от эффекта. [32] Обычно системы частиц включают случайность , например, в исходные свойства, которые эмиттер придает каждой частице, чтобы сделать эффект реалистичным и неоднородным. [32] [33]

См. Также [ править ]

  • Попиксельное освещение
  • Компьютерная графика

Ссылки [ править ]

  1. ^ a b «Введение в компьютерную графику: освещение и затенение» . www.cs.uic.edu . Проверено 5 ноября 2019 .
  2. ^ a b c d e «Введение в компьютерную графику: освещение и затенение» . www.cs.uic.edu . Проверено 5 ноября 2019 .
  3. ^ a b c «Освещение в 3D-графике» . www.bcchang.com . Проверено 5 ноября 2019 .
  4. ^ a b c «Понимание различных типов света» . www.pluralsight.com . Проверено 5 ноября 2019 .
  5. ^ a b c «Освещение в 3D-графике» . www.bcchang.com . Проверено 5 ноября 2019 .
  6. ^ a b c d «Освещение в 3D-графике» . www.bcchang.com . Проверено 5 ноября 2019 .
  7. ^ a b c d e Поллард, Нэнси (весна 2004 г.). «Освещение и затенение» (PDF) .
  8. ^ a b c d e f g «LearnOpenGL - Основное освещение» . Learnopengl.com . Проверено 8 ноября 2019 .
  9. ^ «Введение в компьютерную графику: освещение и затенение» . www.cs.uic.edu . Проверено 8 ноября 2019 .
  10. ^ a b c d e "Глобальное освещение" (PDF) . Технологические классы Джорджии . 2002 г.
  11. ^ а б в г д Фаррелл. «Местное освещение» . Кентский университет .
  12. ^ a b c d e f g "Компьютерная графика: Затенение и освещение" . cglearn.codelight.eu . Проверено 30 октября 2019 .
  13. ^ a b Джеймс Ф. Блинн (1977). «Модели отражения света для изображений, синтезированных на компьютере». Proc. 4-я ежегодная конференция по компьютерной графике и интерактивным техникам : 192–198. CiteSeerX 10.1.1.131.7741. DOI : 10,1145 / 563858,563893
  14. ^ Университет Джейкоба, " Модель отражения Блинна-Фонга ", 2010.
  15. ^ а б в г Ли, Хао (2018). «Затенение в OpenGL» (PDF) .
  16. ^ a b c Ли, Хао (осень 2018). «Глобальное освещение» (PDF).
  17. ^ «Представляем платформу трассировки лучей NVIDIA RTX» . Разработчик NVIDIA . 2018-03-06 . Проверено 8 ноября 2019 .
  18. ^ a b Reif, JH (1994). « Вычислимость и сложность трассировки лучей » (PDF). Дискретная и вычислительная геометрия .
  19. ^ a b Уоллес, Джон Р .; Коэн, Майкл Ф .; Гринберг, Дональд П. (1987). «Двухпроходное решение уравнения рендеринга: синтез методов трассировки лучей и излучения». Материалы 14-й ежегодной конференции по компьютерной графике и интерактивным методам . СИГГРАФ '87. Нью-Йорк, Нью-Йорк, США: ACM: 311–320. DOI : 10.1145 / 37401.37438 . ISBN 9780897912273 . 
  20. ^ a b Гринберг, Дональд П. (1989-04-14). «Модели отражения света для компьютерной графики». Наука . 244 (4901): 166–173. DOI : 10.1126 / science.244.4901.166 . ISSN 0036-8075 . PMID 17835348 .  
  21. ^ Синди Горал, Кеннет Э. Торранс, Дональд П. Гринберг и Б. Баттейл, « Моделирование взаимодействия света между рассеянными поверхностями », Компьютерная графика , Vol. 18, № 3. ( PDF )
  22. ^ a b c Ванн Йенсен, Хенрик (1996). « Глобальное освещение с помощью фотонных карт в архив 2008-08-08 в Wayback Machine » (PDF). Методы рендеринга '96 : 21–30.
  23. ^ a b "Фотонное отображение - Зак Уотерс" . web.cs.wpi.edu . Проверено 8 ноября 2019 .
  24. ^ «Введение в освещение» .
  25. ^ "Спецификация вершин - OpenGL Wiki" . www.khronos.org . Проверено 6 ноября 2019 .
  26. ^ Б с д е е Фоли. «Модели освещения и затенение» (PDF) .
  27. ^ a b c d «Введение в компьютерную графику: освещение и затенение» . www.cs.uic.edu . Проверено 5 ноября 2019 .
  28. ^ a b c "Камни GPU" . Разработчик NVIDIA . Проверено 30 октября 2019 .
  29. ^ a b c «Текстурирование воды Caustics с использованием Unity 3D» . www.dualheights.se . Проверено 6 ноября 2019 .
  30. ^ а б "Компьютерная графика: картографирование окружающей среды" . cglearn.codelight.eu . Проверено 1 ноября 2019 .
  31. ^ Шен, Хань-Вэй. «Карты окружающей среды» (PDF) .
  32. ^ a b c d Бейли, Майк. "Системы частиц" (PDF) .
  33. ^ "Системы частиц" . web.cs.wpi.edu . Проверено 1 ноября 2019 .