Относится к Blender v2.31
В отличии от диффузии, зеркальное отражение зависит от точки просмотра. Согласно Закону Снелла, свет, ударяющий о зеркальную поверхность, будет отражен под углом, который зеркально отражен углу падения света, что и делает угол просмотра очень важным. (Рис 3).
В действительности, диффузия и зеркальное отражение генерируется одинаковым процессом рассеивания света. Диффузия пребладает на поверхности, которая имеет так много шероховатостей и неровностей, относительно длины волны, что свет отражается во множество разных направлениях, от каждого маленького участка поверхности, с незначительными изменениями в угле поверхности.
Зеркальное отражение, с другой стороны, пребладает на поверхности, которая является гладкой, относительно длины волны. Оно подразумевает, что рассеянные лучи от каждой точки поверхности направлены почти в том же самом направлении, а не в разные стороны. Это зависит от размера деталей. Если шероховатость поверхности намного меньше чем длина волны падающего света, она кажется плоской и действует как зеркало.
![]() |
Важно подчеркнуть, что явление зеркального отражения, обсуждаемого здесь, не то отражение, которое мы видели бы в зеркале, а простые отблески, которые мы увидим на глянцевой поверхности. Чтобы получить настоящие, подобные зеркалу отражения, вам необходимо использовать raytracer (трассировщик лучей). Blender имеет встроенный raytracer, который может производить достаточно правдоподобные отражения. Зеркальное отражение можно также симулировать, используя особый способ применения текстур, об этом будет сказано позже. |
Как и диффузия, зеркальное отражение имеет несколько различных способов реализации, т.е. несколько видов зеркальных (отражающих) шейдеров. И также, каждый шейдер имеет два общих параметра: Цвет отражения и количество энергии отражения, в диапазоне [0-2]. Это позволяет большему количество энергии, излучаться как зеркальное отражение. В результате, материал имеет по крайней мере два различных цвета - диффузный и зеркальный. Зеркальный цвет обычно устанавливается в чисто белый, но он может быть установлен и в любой другой, для получения интересных эффектов.
Имеются 4 зеркальных (отражающих) шейдера:
CookTorr -- Это был единственный зеркальный (отражающий) шейдер Blender'а, аж до версии 2.27. И в самом деле, до этой версии не было возможности устанавливать параметры диффузии и зеркальности поотдельности. Кроме двух стандартных параметров, этот шейдер использует трейтий параметр - hardness (жесткость), который регулирует ширину зеркального отблеска. Более низкое значение, дает более широкий отблеск.
Phong -- Это другой математический алгоритм для вычисления отблесков отражения и он не сильно отличается от CookTor и управляется теми же самыми тремя параметрами.
Blinn -- Это более 'физический' зеркальный шейдер и был задуман для диффузного шейдера Oren-Nayar. Поэтому, для этого шейдера (помимо трех описаных параметров) был добавлен еще четвертый параметр - index of refraction (IOR)(индекс преломления). Этот параметр фактически не используется для вычислить преломление лучей (для этого необходим трассировщик лучей), а используется для правильного вычисления интенсивности зеркального отражения и расширения, с помощью закона Снелла. Твердость и параметры зеркальности дают дополнительную степень свободы для настройки.
Toon -- Этот зеркальный шейдер соответствует диффузному Toon. Он предназначен для создания точных, однородных ярких участков. Имеет параметры Size и Smooth которые определяют размеры и четкость зеркальных отблесков.
Благодаря такому гибкому решению, которое предоставляет отдельные настройки явления диффузии и зеркального отражения, Blender позволяет нам легко управлять количеством рассеяного света, попавшего на поверхность, и количеством отраженного и поглощеного света. Это, в свою очередь, определяет в каких направлениях (и в каком количестве) свет отражен от данного источника; то есть от каких источников (и сколько их) свет отражен от данной точки до плоскости просмотра.
Очень важно помнить, что цвет материала - это только одна составная часть в процессе рендеринга. Цвет обьекта, фактически, это результат от цветового оттенка света и цвета материала.