Отражение (компьютерная графика) - Reflection (computer graphics)

Модель с трассировкой лучей демонстрирует зеркальное отражение.

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

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

Подходы к рендерингу отражения

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

Для визуализации отражений среды существует множество методов, которые различаются по точности, сложности вычислений и реализации. Также возможно сочетание этих методов.

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

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

Отражения на неплоских (криволинейных) поверхностях более сложны для рендеринга в реальном времени. Основные используемые подходы включают:

  • Отображение окружающей среды (например. отображение куба ): метод, который широко используется, например в видеоиграх, предлагая приближение отражения, которое в основном достаточно для глаза, но не имеет самоотражений и требует предварительного рендеринга карты окружения.[3]:174 Точность можно повысить, используя пространственный массив карт среды вместо одной.
  • Отражения в экранном пространстве (SSR): более дорогостоящий метод, который отслеживает отраженные лучи в пространстве экрана (в отличие от мирового пространства, например, при трассировке лучей). Это делается для каждого визуализированного пикселя отраженной поверхности с использованием нормали к поверхности и глубины сцены. Недостатком является то, что объекты, не захваченные в визуализированном кадре, не могут появляться в отражениях, что приводит к неразрешенным пересечениям и неполному отражению изображения.[4]

Типы отражения

Полированный

- Полированное отражение - это невозмущенное отражение, подобное зеркалу или хромированной поверхности.

Размыто

- Размытое отражение означает, что крошечные случайные неровности на поверхности материала делают отражение нечетким.

Металлический

- Отражение становится металлическим, если блики и отражения сохраняют цвет отражающего объекта.

Глянцевый

- Этот термин можно использовать неправильно: иногда это параметр, противоположный размытому (например, когда «глянцевитость» имеет низкое значение, отражение размытое). Иногда этот термин используется как синоним «размытого отражения». Глянцевый, используемый в этом контексте, означает, что отражение действительно размыто.

Полированное или зеркальное отражение

Зеркало на стене со 100% отражением.

Зеркала обычно почти на 100% отражают ...

Металлическое отражение

Большая сфера слева синего цвета с металлическим отражением. Большая сфера справа такого же цвета, но для нее не выбрано металлическое свойство.

Обычные (неметаллические) объекты отражают свет и цвета того же цвета, что и отражаемый объект. Металлические объекты отражают свет и цвета, измененные цветом самого металлического объекта.

Размытое отражение

Для большой сферы слева установлена ​​резкость 100%. Сфера справа имеет резкость 50%, что создает размытое отражение.

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

Глянцевое отражение

Сфера слева имеет нормальное металлическое отражение. Сфера справа имеет те же параметры, за исключением того, что отражение помечено как «глянцевое».

Полностью глянцевое отражение, показывает блики от источников света, но не показывает четкое отражение от объектов.

Примеры отражений

Отражения мокрого пола

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

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

Рекомендации

  1. ^ Клигард, Марк (1999). «Улучшение теней и отражений с помощью буфера трафарета»: 7. Получено 25 апреля 2020. Цитировать журнал требует | журнал = (помощь)
  2. ^ Секреты вне камеры, Metal Gear Solid: Twin Snakes - Boundary Break. Событие происходит в 4:32. Получено 25 апреля 2020.
  3. ^ Фернандо, Рандима; Килгард, Марк (2003). Учебник Cg. Подробное руководство по программируемой графике в реальном времени. Эддисон-Уэсли Профессионал. ISBN  9780321194961.
  4. ^ «Юнити-Технологии: Отражения экранного пространства». Получено 25 апреля 2020.
  5. ^ Twinsparc Статья, в которой введен термин