Введение¶
Материалы определяют внешний вид полисеток, кривых и других объектов. Они состоят из трёх шейдеров, определяющих внешний вид поверхности полисетки, объём внутри полисетки и смещение поверхности полисетки.
Шейдер поверхности¶
Шейдер поверхности определяет взаимодействие света с поверхностью полисетки.
См.также
Шейдер объёма¶
Если шейдер поверхности не отражает и не поглощает свет, тот проникает в объём. Если шейдер объёма не определён, свет просто пройдёт сквозь объект и выйдет с другой стороны полисетки.
Если же шейдер задан, он описывает взаимодействие со светом, когда тот проходит сквозь объём полисетки. Свет может быть рассеян, поглощён или испущен в любой точке объёма.
Материал может иметь как шейдер поверхности, так и шейдер объёма, либо только один из них. Одновременное использование шейдеров может быть полезно для таких материалов, как стекло, вода или лёд, когда вам нужно, чтобы часть света поглощалась при прохождении сквозь поверхность, а другая часть отражалась от поверхности шейдером стекла или глянца.
См.также
Шейдер смещения¶
Форма поверхности и внутренний объём объекта могут быть изменены шейдерами смещения. Таким образом можно использовать текстуры, чтобы сделать поверхность полисетки более детализированной.
В зависимости от настроек, смещение может быть виртуальным, то есть изменять только нормали поверхности, создавая видимость смещения (так же оно известно как рельефное текстурирование или bump mapping) или быть комбинацией реального и виртуального смещения.
См.также
Сохранение энергии¶
The material system is built with physically-based rendering in mind, cleanly separating how a material looks and which rendering algorithm is used to render it. This makes it easier to achieve realistic results and balanced lighting, though there are a few things to keep in mind.
In order for materials to work well with global illumination, they should be, speaking in terms of physics, energy conserving. That means they cannot reflect more light than comes in. This property is not strictly enforced, but if colors are in the range 0.0 to 1.0, and BSDFs are only mixed together with the Mix Shader node, this will automatically be true.
Однако это правило можно нарушить, если значения компонент цветов будут больше 1.0 или цвета будут объединяться через узел «Сложить шейдеры». Так следует делать с осторожностью, чтобы материалы вели себя предсказуемо при различных условиях освещения. Они могут начать бесконтрольно отражать свет, с каждым отскоком добавляя его в систему, превратив BSDF в своего рода источник света.