Сообщений
0, на страницах:
1добавить сообщениеЭксперименты с материалами
Yafaray – Direct Lighting – Shinydiffuse
Источник -
http://wickedbean.co.uk/blog/?p=4Перевод: cyberdime
Pdf-версия: Yafa_mat_shinydiffuse_RUS.pdf [585 Kb]
Translucensy (Полупрозрачность)
Для экспериментов с полупрозрачностью я создал сцену из 12 одинаковых групп объектов. Это простые L-образные формы, одна из которых (та которая слева) имеет толщину, а другая — нет (ну то есть представляет из себя плейн, согнутый под углом 90º. Также в сцене две полоски для теней на расстоянии друг от друга. Одна тоже полупрозрачная, а вторая — типа glass с активированным Fake shadows.
После ряда экспериментов с полупрозрачностью я пришёл к выводу, что степень воздействия этого эффекта в Direct Lighting, которое мы рассматриваем здесь, весьма ограничена. Теневые лучи не проникают сквозь полупрозрачные поверхности, даже с активированной опцией построения прозрачных теней. Каустические фотоны, похоже, тоже не проходят. Единственный путь, при котором эффект работает в Direct Lighting - теневые лучи трассируют эффект полупрозрачности только с обратной стороны первого встреченного лучами фейса. Это означает, что в Direct Lighting невозможно сделать полупрозрачным любой объект, имеющий толщину.
Итак, свойства материала следующие:
| Тип материала |
shinydiffusemat |
| Mirror strength |
0 |
| Transparency |
0 |
| Emit |
0 |
Остальные настройки у каждой пары объектов варьируются и представлены в таблице:
| № |
Color |
Diffuse reflection |
Translucency |
Transmit Filter |
| 1 |
2EB257 |
0,5 |
0,379 |
0,669 |
| 2 |
217F38 |
0,5 |
0,379 |
0,669 |
| 3 |
134C25 |
0,5 |
0,379 |
0,669 |
| 4 |
32C25F |
0,5 |
0,379 |
0,669 |
| 5 |
32C25F |
0,25 |
0,379 |
0,669 |
| 6 |
32C25F |
0 |
0,379 |
0,669 |
| 7 |
32C25F |
0,5 |
0,379 |
0,669 |
| 8 |
32C25F |
0,5 |
0,379 |
0,300 |
| 9 |
32C25F |
0,5 |
0,379 |
0,000 |
| 10 |
32C25F |
0,5 |
1,0 |
0,669 |
| 11 |
32C25F |
0,5 |
0,5 |
0,669 |
| 12 |
32C25F |
0,5 |
0,1 |
0,669 |
Итак рендеры. Первый — без прозрачных теней.

Теперь с прозрачными тенями
(помните — активируем Transparent shadows)
Теперь мы видим, что свет ВООБЩЕ не проходит через объекты с толщиной. Объекты же без толщины пропускают свет и с обратной стороны есть прозрачность. Кроме теней от объектов видны тени от двух полос. На втором изображении мы видим, что тень от стеклянной полоски прозрачна, а вот тени от всех полупрозрачных объектов и полоски — сплошные. И даже включение прозрачности теней не сделало их светлее.
Вы также можете заметить, что объекты с более высоким значением
Translucensy в верхней части выглядят темнее, чем объекты с более низким значением. Причина этого — в схеме работы
Translucensy. Фактически этот параметр контролирует разницу между количеством теневых лучей достигших передней поверхности объекта (той, что видна из камеры) и вышедших с обратной стороны. Например объект №10 кажется чёрным сверху оттого, что все теневые лучи, выходящие с обратной стороны горизонтальной части объектов не достигают источника света (он ведь находится выше). Однако вертикальная часть этого объекта действительно, как и предполагалось, имеет самое светлое значение лучей выходящих с обратной стороны. Получается, что при параметре
Translucensy=1.0 объект пропускает только все теневые лучи способные трассироваться до источника света, а остальное нет. Я не могу себе представить материал, ведущий себя в реальности таким способом, поэтому рискну с высокой долей вероятности предположить, что
Translucensy=0,5 — предельное значение полупрозрачности для моделирования сколько-нибудь реальных материалов. Отметьте, что значение
Transmit Filter в этом случае не оказывает никакого воздействия.
В следующем эксперименте я удалил полосы на заднем плане и добавил позади каждого объекта по стеклянной сфере, чтобы посмотреть как с обратной стороны объектов будет проявляться эффект каустики.

Видно, что проявляется. То есть тени от сфер, расположенных за объектами такие же, как и если мы посмотрим с обратной стороны. Для наглядности я переместил камеру за объекты №№ 10, 11, 12. (объект №12 - теперь слева):

Отметьте, как нереалистично чёрным выглядит объект №10. Даже нет фотонов каустики на поверхности.
Transparensy (Прозрачность)
Свойства материалов. Общие:
| Тип материала |
shinydiffusemat |
| Mirror strength |
0 |
| Translucency |
0 |
| Emit |
0 |
И индивидуальные:
| № |
Transparency |
Transmit Filter |
Diffuse reflection |
| 1 |
0.0 |
1 |
1 |
| 2 |
0.5 |
1 |
1 |
| 3 |
0.9 |
1 |
1 |
| 4 |
0.0 |
0 |
1 |
| 5 |
0.5 |
0 |
1 |
| 6 |
0.9 |
0 |
1 |
| 7 |
0.0 |
1 |
0.5 |
| 8 |
0.5 |
1 |
0.5 |
| 9 |
0.9 |
1 |
0.5 |
| 10 |
0.0 |
0 |
0.5 |
| 11 |
0.5 |
0 |
0.5 |
| 12 |
0.9 |
0 |
0.5 |
С включённой опцией
Transparent shadows:

С выключённой опцией
Transparent shadows:

Снова с включённой опцией
Transparent shadows и глубиной теней
Shadow depth=1:
Shadow depth=2:
Теперь
Ray depth=0:
Ray depth=1:
Ray depth=2:

А теперь поместим стеклянные сферы над каждой из цветных, чтобы посмотреть как поведут себя фотоны каустики (
Ray depth=5;
Shadow depth=5):

Таким образом можно сделать вывод, что луч, проходящий сквозь прозрачный материал — это исходный трассируемый луч, который расходует одно событие глубины. Цвет луча определяется цветом, заданным в поле
Diffuse Color, но модулируется значением
Transmit filter. Теневые лучи также расходуют одно событие, проходя через каждую прозрачную поверхность и приобретают её цвет. Таким же образом цвет влияет и на фотоны каустики.
Mirror (Зеркальность)
В следующем тесте 4 сферы имеют следующие настройки материала:
Общие:
| Тип материала |
shinydiffusemat |
| Color |
FF0000 |
| Diffuse reflection |
1 |
| Mirror strength |
1 |
| Translucency |
0 |
| Transparency |
0 |
| Emit |
0 |
И индивидуальные:
| № |
Fresnel |
IOR |
| 1 |
Выкл |
- |
| 2 |
Вкл |
1,14 |
| 3 |
Вкл |
2,00 |
| 4 |
Вкл |
3,00 |

Видно, что без эффекта Френеля (Fresnel) отражающая способность материала постоянна и не зависит от угла зрения. С включённым эффектом Френеля, чем ближе луч зрения к касательной к поверхности материала, тем выше отражающие свойства объекта. И это более реалистично для широкого спектра материалов.
Очень интересно также проследить зависимость зеркальности от типа дифф. шейдера
Lambert/Oren-Nayar, но различий немного и фактически они освещены в следующем разделе статьи.
различий немного и фактически они освещены в следующем разделе статьи.
Diffuse (Диффузный)
В следующем тесте 4 сферы имеют следующие настройки материала:
Общие:
| Тип материала |
shinydiffusemat |
| Color |
FF0000 |
| Diffuse reflection |
1 |
| Mirror strength |
0 |
| Translucency |
0 |
| Transparency |
0 |
| Emit |
0 |
И индивидуальные:
| № |
Diffuse Model |
Sigma |
| 1 |
Lambert |
- |
| 2 |
Oren-Nayar |
0,1 |
| 3 |
Oren-Nayar |
0,5 |
| 4 |
Oren-Nayar |
1,0 |

Единственной альтернативой шейдеру
Lambert, установленному по умолчанию, является шейдер
Oren-Nayar, который более точно моделирует свойства грубых материалов типа бетона или штукатурки. Значение
Sigma управляет степенью «грубости» материала.
Сообщений
0, на страницах:
1добавить сообщение