Отражение (компьютерная графика) - Reflection (computer graphics)
Эта статья нуждается в более полном цитаты за проверка.Апрель 2020) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Отражение в компьютерная графика используется для подражания отражающий такие объекты как зеркала и блестящие поверхности.
Точные отражения могут быть достигнуты, например, по след лучей рендерер, проследив луч от глаза до зеркала, а затем вычислив, откуда он отражается, и продолжая процесс до тех пор, пока не будет обнаружена поверхность или не будет найдена неотражающая поверхность. Приблизительные отражения обычно можно вычислить быстрее с помощью таких методов, как отображение окружающей среды. Отражение на блестящей поверхности, такой как дерево или плитка, может добавить фотореалистичных эффектов 3D рендеринг.
Подходы к рендерингу отражения
Для визуализации отражений среды существует множество методов, которые различаются по точности, сложности вычислений и реализации. Также возможно сочетание этих методов.
Визуализация порядка изображений алгоритмы, основанные на отслеживании лучей света, такие как трассировка лучей или же трассировка пути, обычно вычисляют точные отражения от общих поверхностей, включая многократные отражения и самоотражения. Однако эти алгоритмы, как правило, по-прежнему слишком дороги в вычислительном отношении для рендеринга в реальном времени (даже несмотря на то, что существует специализированное аппаратное обеспечение, такое как Nvidia RTX ) и требуют другого подхода к рендерингу, нежели обычно используемый растеризация.
Отражения на плоских поверхностях, таких как плоские зеркала или водные поверхности, можно просто и точно рассчитать в реальном времени с помощью двухпроходного рендеринга - один для зрителя, второй для просмотра в зеркале, обычно с помощью трафаретный буфер.[1] Некоторые старые видеоигры использовали уловку для достижения этого эффекта с помощью рендеринга за один проход, помещая всю зеркальную сцену за прозрачную плоскость, представляющую зеркало.[2]
Отражения на неплоских (криволинейных) поверхностях более сложны для рендеринга в реальном времени. Основные используемые подходы включают:
- Отображение окружающей среды (например. отображение куба ): метод, который широко используется, например в видеоиграх, предлагая приближение отражения, которое в основном достаточно для глаза, но не имеет самоотражений и требует предварительного рендеринга карты окружения.[3]:174 Точность можно повысить, используя пространственный массив карт среды вместо одной.
- Отражения в экранном пространстве (SSR): более дорогостоящий метод, который отслеживает отраженные лучи в пространстве экрана (в отличие от мирового пространства, например, при трассировке лучей). Это делается для каждого визуализированного пикселя отраженной поверхности с использованием нормали к поверхности и глубины сцены. Недостатком является то, что объекты, не захваченные в визуализированном кадре, не могут появляться в отражениях, что приводит к неразрешенным пересечениям и неполному отражению изображения.[4]
Типы отражения
- Полированный
- Полированное отражение - это невозмущенное отражение, подобное зеркалу или хромированной поверхности.
- Размыто
- Размытое отражение означает, что крошечные случайные неровности на поверхности материала делают отражение нечетким.
- Металлический
- Отражение становится металлическим, если блики и отражения сохраняют цвет отражающего объекта.
- Глянцевый
- Этот термин можно использовать неправильно: иногда это параметр, противоположный размытому (например, когда «глянцевитость» имеет низкое значение, отражение размытое). Иногда этот термин используется как синоним «размытого отражения». Глянцевый, используемый в этом контексте, означает, что отражение действительно размыто.
Полированное или зеркальное отражение
Зеркала обычно почти на 100% отражают ...
Металлическое отражение
Обычные (неметаллические) объекты отражают свет и цвета того же цвета, что и отражаемый объект. Металлические объекты отражают свет и цвета, измененные цветом самого металлического объекта.
Размытое отражение
Многие материалы представляют собой несовершенные отражатели, где отражения размыты до разной степени из-за шероховатости поверхности, которая рассеивает лучи отражений.
Глянцевое отражение
Полностью глянцевое отражение, показывает блики от источников света, но не показывает четкое отражение от объектов.
Примеры отражений
Отражения мокрого пола
В эффект мокрого пола[5]это графический последствия техника, популярная в сочетании с Веб 2.0 страницы стилей, особенно в логотипы. Эффект можно сделать вручную или создать с помощью вспомогательного инструмента, который можно установить для автоматического создания эффекта. В отличие от стандартного компьютерного отражения (и Ява эффект воды, популярный в сети первого поколения графика ) эффект мокрого пола включает градиент и часто наклон в отражении, так что зеркальное изображение кажется парящий на мокром полу или отдыхая на нем.
Смотрите также
- Модель освещения
- Ламбертовский коэффициент отражения
- трассировка лучей
- Отображение отражения
- Рендеринг (компьютерная графика)
- Зеркальное отражение (оптика)
Рекомендации
- ^ Клигард, Марк (1999). «Улучшение теней и отражений с помощью буфера трафарета»: 7. Получено 25 апреля 2020. Цитировать журнал требует
| журнал =
(помощь) - ^ Секреты вне камеры, Metal Gear Solid: Twin Snakes - Boundary Break. Событие происходит в 4:32. Получено 25 апреля 2020.
- ^ Фернандо, Рандима; Килгард, Марк (2003). Учебник Cg. Подробное руководство по программируемой графике в реальном времени. Эддисон-Уэсли Профессионал. ISBN 9780321194961.
- ^ «Юнити-Технологии: Отражения экранного пространства». Получено 25 апреля 2020.
- ^ Twinsparc Статья, в которой введен термин