Освещение компьютерной графики - Computer graphics lighting

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

Источники света

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

Точка

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

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

Направленный

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

Прожектор

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

Окружающий

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

Искажение света

Искажение света - это метод, при котором объект в геометрическом мире преломляет свет в зависимости от направления и интенсивности света. Затем свет искажается, используя термин рассеянного окружения с диапазоном цветового спектра . Затем свет может отражаться, рассеиваясь для получения большей глубины резкости , и преломляться . Этот метод используется для создания уникального стиля рендеринга и может использоваться для ограничения передержки объектов. Такие игры, как Team Fortress 2 использовать метод рендеринга для создания мультфильма CEL затененных стилизованный вид.

Освещение взаимодействия

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

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

Размытый

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

Окружающий

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

Зеркальный

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

Модели освещения

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

Объектно-ориентированное освещение

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

Модель освещения Фонга

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

Модель освещения Блинн-Фонга

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

Глобальное освещение

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

трассировка лучей

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

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

Лучистость

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

Фотонное отображение

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

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

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

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

Плоское затенение

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

Затенение по Гуро

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

Затенение Фонга

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

Световые эффекты

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

Каустики

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

Отображение отражения

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

Системы частиц

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

Смотрите также

использованная литература