Шейдеры блика

Справка

Mode:All Modes
Panel:Material ‣ Specular

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

Совет

Не зеркало!

It is important to stress that the specular reflection phenomenon discussed here is not the reflection we would see in a mirror, but rather the light highlights we would see on a glossy surface. To obtain true mirror-like reflections you would need to use the internal ray tracer.

Общие параметры

Каждый шейдер блика имеет следующие общие параметры:

Цвет бликов
The color of the specular highlight.
Интенсивность
Интенсивность или яркость пятна блика. Задаётся в диапазоне от 0 до 1.
Градиентная карта
Позволяет задать диапазон цветов блика для материала и определить, как они будут меняться вдоль поверхности. Подробности смотрите в документации к градиентным картам.

В результате, материал имеет по меньшей мере два различных цвета – один диффузный и один зеркальный. Зеркальный цвет, как правило, устанавливается в чистый белый (такой же «чистый белый», как отражаемый источник света), но также он может быть установлен в различные значения для достижения разнообразных эффектов (к примеру, металлы окрашивают свои блики).

Технические подробности

../../../../_images/render_blender-render_materials_properties_specular-shaders_reflection.svg

Specular reflection.

В реальности качество диффузного и зеркального отражения, генерируемого в одном и том же процессе рассеивания света, не одинаковое. Фактически, на очень малых масштабах, диффузное отражение является подповерхностным рассеиванием.

Imagine that a surface is made up of extremely microscopic semitransparent, reflective facets. The sharpness of Specular reflection is determined by the distribution of the angle of these microfacets on the surface of an object. The more deep and jagged these facets are, the more the light spreads when it hits the surface. When these facets are flatter against the «macrosurface», the surface will have a tighter reflection, closer to a mirror. This is a condensed explanation of the generally accepted microfacet theory of reflectance, which is the basis of all modern BRDFs, or shading models.

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

Обратите внимание, что при углах, близким к углам скольжения, зеркальность поверхности всегда будет стремиться к 1.

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

Кук-Торренс

Справка

Mode:All Modes
Panel:Material ‣ Shaders
../../../../_images/render_blender-render_materials_properties_specular-shaders_cooktorr.jpg

Шейдер Кука-Торренса (Ламберт 0.8)

Кук-Торренс – это базовый зеркальный шейдер, наиболее полезный для создания блестящих пластиковых поверхностей. Это немного оптимизированная версия шейдера Фонга. Роберт Л. Кук (Robert L. Cook, LucasFilm) и Кеннет Е. Торренс (Kenneth E. Torrance, Корнелльский университет) в своей работе 1982 года Модель отражения для компьютерной графики (A Reflectance Model for Computer Graphics) (PDF) описали «новую модель отражения для визуализации изображений, синтезируемых компьютером» и применили её к моделированию металла и пластика.

Параметры

Жёсткость
Размер пятна блика.

Фонг

Справка

Mode:All Modes
Panel:Material ‣ Shaders
../../../../_images/render_blender-render_materials_properties_specular-shaders_phong.jpg

Шейдер Фонга (Ламберт 0.8)

Phong is a basic shader that is very similar to Cook-Torr, but is better for skin and organic surfaces. Bui Tuong Phong (1942-1975) was a Vietnamese-born computer graphics pioneer that developed the first algorithm for simulating specular phenomenon. His model included components not only for specular lighting, but also diffuse and ambient lighting.

Параметры

Жёсткость
Размер пятна блика.

Совет

Атмосфера планеты

Из-за своей размытости шейдер хорошо подходит для создания атмосферы вокруг планеты. Добавьте вокруг планеты сферу, размерами немного больше самой планеты. В её материале используйте зеркальный шейдер Фонга. Установите ему очень низкую альфу (0.05), нулевую интенсивность диффузного шейдера, низкую жёсткость (5), но большой блик (1).

Блинн

Справка

Mode:All Modes
Panel:Material ‣ Shaders
../../../../_images/render_blender-render_materials_properties_specular-shaders_blinn.jpg

Шейдер Блинна (Орен-Наяр, Интенсивность 0.8, Жёсткость 0.5)

Блинн – это более «физический» зеркальный шейдер, часто используется совместно с диффузным шейдером Орена-Наяра. Он может быть более управляемым, поскольку к вышеупомянутым трём параметрам добавляет четвёртый – показатель преломления. Джеймс Ф. Блинн (Джим Блинн, James F. Blinn) работал в Лаборатории реактивного движения НАСА и стал широко известен своей работой для телевизионного документального фильма Карла Сагана Космос. Модель, описанная в его статье 1977 года Модели отражения света для изображений, синтезированных компьютером (Models of Light Reflection for Computer Synthesized Pictures) (PDF), включала изменения в интенсивности блика от направления света и более точное позиционирование пятна на поверхности.

Параметры

Жёсткость
Size of the specular highlight. The Blinn shader is capable of much tighter specular highlights than Phong or Cook-Torr.
Показатель преломления
На самом деле этот параметр не используется для вычисления преломления световых лучей, проходящих через материал (для этого нужен трассировщик лучей). Он служит для корректного вычисления интенсивности зеркального отражения и его расширения согласно закону Снеллиуса.

Toon

Справка

Mode:All Modes
Panel:Material ‣ Shaders
../../../../_images/render_blender-render_materials_properties_specular-shaders_toonspec.jpg

Бликовый Toon-шейдер (диффузный Toon-шейдер, интенсивность 0.8, размер и гладкость совпадают)

Зеркальный Toon-шейдер соответствует диффузному Toon-шейдеру. Он предназначен для получения чётких, однородных бликовых пятен, как в нарисованных на плёнке мультфильмах.

Параметры

Размер
Размер пятна блика.
Гладко
Мягкость на границе светового пятна.

Совет

Альтернативный метод

Эффекта, похожего на Toon-шейдер, также можно добиться при использовании градиентных карт. В этом случае вы получите даже больший контроль над получаемым изображением.

ВардИзо

Справка

Mode:All Modes
Panel:Material ‣ Shaders
../../../../_images/render_blender-render_materials_properties_specular-shaders_wardiso.jpg

Изотропный шейдер Варда

ВардИзо – это гибкий зеркальный шейдер, который может быть полезен для моделирования металла или пластика.

Грегори Дж. Вард (Gregory J. Ward)
developed a relatively simple model that obeyed the most basic laws of physics. In his 1992 paper, «Measuring and modeling anisotropic reaction», Ward introduced a Bidirectional Reflectance Distribution Function (BRDF) since then widely used in computer graphics because the few parameters it uses are simple to control. His model could represent both isotropic surfaces (independent of light direction) and anisotropic surfaces (direction dependent). In Blender, the Ward specular shader is still called «Ward Isotropic» but is actually anisotropic. (PDF).

Параметры

Уклон
Стандартное отклонение для уклона поверхности. Ранее известное как среднее квадратичное значение (по английски будет rms), этот параметр управляет размером пятна блика, хотя здесь и используется совершенно другой метод, чем у остальных зеркальных шейдеров. Метод способен создавать чрезвычайно резкие блики.