Отражение в компьютерной графике используется для визуализации отражающих объектов, таких как зеркала и блестящие поверхности.
Точные отражения обычно вычисляются с помощью трассировки лучей , тогда как приблизительные отражения обычно можно вычислить быстрее, используя более простые методы, такие как отображение окружения . Отражения на блестящих поверхностях, таких как дерево или плитка, могут добавить фотореалистичных эффектов 3D-рендеринга .
Для рендеринга отражений окружающей среды существует множество методов, различающихся по точности, вычислительной сложности и сложности реализации. Возможны также комбинации этих методов.
Алгоритмы рендеринга порядка изображений, основанные на трассировке лучей света, такие как трассировка лучей или трассировка пути , обычно вычисляют точные отражения на общих поверхностях, включая множественные отражения и самоотражения. Однако эти алгоритмы, как правило, все еще слишком вычислительно дороги для рендеринга в реальном времени (даже несмотря на то, что существует специализированное HW, такое как Nvidia RTX ) и требуют иного подхода к рендерингу, чем обычно используемая растеризация .
Отражения на плоских поверхностях, таких как плоские зеркала или водные поверхности, можно просто и точно вычислить в реальном времени с помощью двухпроходного рендеринга — один для зрителя, один для вида в зеркале, обычно с помощью буфера трафарета . [1] Некоторые старые видеоигры использовали трюк для достижения этого эффекта с помощью однопроходного рендеринга, помещая всю зеркальную сцену за прозрачную плоскость, представляющую зеркало. [2]
Отражения на неплоских (искривленных) поверхностях более сложны для рендеринга в реальном времени. Основные используемые подходы включают:
- Полированное отражение — это неискаженное отражение, подобное зеркалу или хромированной поверхности.
- Размытое отражение означает, что мелкие случайные неровности на поверхности материала делают отражение размытым.
- Отражение считается металлическим, если блики и отражения сохраняют цвет отражающего объекта.
- Этот термин может быть использован неправильно: иногда это настройка, которая является противоположностью размытости (например, когда "глянцевость" имеет низкое значение, отражение размыто). Иногда термин используется как синоним "размытого отражения". Глянцевый, используемый в этом контексте, означает, что отражение на самом деле размыто.
Зеркала обычно отражают почти 100% света.
Обычные (неметаллические) объекты отражают свет и цвета в исходном цвете отражаемого объекта. Металлические объекты отражают свет и цвета, измененные цветом самого металлического объекта.
Многие материалы являются несовершенными отражателями, в которых отражения в разной степени размыты из-за шероховатости поверхности, которая рассеивает отраженные лучи.
Полностью глянцевое отражение, показывает блики от источников света, но не показывает четкого отражения от объектов.
Эффект мокрого пола [6] [ нужен лучший источник ] — это техника графических эффектов, популярная в сочетании со страницами в стиле Web 2.0 , особенно в логотипах . Эффект можно сделать вручную или создать с помощью вспомогательного инструмента, который можно установить для автоматического создания эффекта. В отличие от стандартного компьютерного отражения (и эффекта воды Java , популярного в веб- графике первого поколения ), эффект мокрого пола включает градиент и часто наклон в отражении, так что зеркальное изображение кажется парящим над мокрым полом или покоящимся на нем.