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