Render.ru

diffuse_color

DanR

Активный участник
Рейтинг
17
#1
кто может объяснить что такое диффузный цвет, отражение??
 

DanR

Активный участник
Рейтинг
17
#3
статью прочитал, интересно, но на мой вопрос ответа я не нашел...
diffuse color - "всенаправленное" отражение света - цвета поверхности или что? если да тогда чем отличается от ambient? почему говорят диффузный цвет, и просто цвет - меня интересует именно это различие!
 
Рейтинг
24
#4
Ambient - это просто КОНСТАНТНЫЙ цвет, который плюсуется к диффузу внутри шейдера и НЕ ЗАВИСИТ ОТ ОСВЕЩЕНИЯ.

Собственно, диффуз - это просто плоский цвет объекта без бликов, отражений, освещения, и все остального. Это не отраженный свет, а просто базовая заливка объекта цветом/текстурой. Он тоже не зависит от освещения.

Например, если вы включите во вьюпорте режим flat color - он будет показывать только диффуз и ни чего больше.

 

DanR

Активный участник
Рейтинг
17
#5
цитирую из справки Ф1: Большинство материалов поглощает часть света, падающего на них, и часть рассеивает. Значение diffuse по умолчанию 0.8(maya); значение 1.0 (максимум) означала бы, что весь свет, падающий на материал, отражен(или по другому наш объект-моделька получила 100% света исходящего от ИС и передала информацию о цвете глазу); значение 0.0 (минимум) означала бы, что никакой свет не отражен (материал будет черным, если у него нет других свойств) - понятно, но что такое диффузный цвет, помимо основного цвета?
moooV спасибо за ответы, но все равно не то, хотя тоже верно.. ты говоришь про цвет без описания модели шейдера(flat color - плоский цвет), т.е. нет математической функции которая бы описывала диффузный цвет, если это плоская модель то она бы была похожа на сурфейс шейдер...
использую misss_fast_simple_maya, есть слд. виды цвета
overall_color
diffuse_color - результат нагляден к основному цвету добавляется "диффузный" цвет, для меня это просто цвет но почему он называется диффузным в данном случае а не амбъентным или просто усиление основного цвета другим цветом?
front_sss_color
back_sss_color
либо я загоняюсь...
 
Рейтинг
58
#6
для меня это просто цвет но почему он называется диффузным
Потому что переводится с английского как рассеянный цвет. Диффузный и есть основной, вы всё правильно цитировали, просто не вникли в написанное... непосредственно тот цветовой диапазон, та длина волны света, которую возвращает поверхность в камеру, определяющаяся свойствами поверхности...
 
Рейтинг
24
#7
DanR, просто совет. Пригодится.

Даже если и не будете когда-нибудь работать с рендерманом, посмотрите курс fxphd - Renderman 101, и вы все поймете. Прочищает мозг конкретно - такие вопросы просто не будут возникать. А так как все модели затенения одни и те же для всех рендереров, то многое из этого применимо и к менталу.

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


Объясню на примере модели Blinn-Phong.

Если грубо: то, что называется диффузом (он так только НАЗЫВАЕТСЯ), это просто цвет точки, возвращаемой камере по вектору луча зрения. Без учета всего остального - только голый цвет (т.н. flat).



На этой картинке это цвет, возвращаемый по вектору V, но без учета цветов пришедших по -L и -R.
Соответственно, цвет точки с учетом освещения - это diffuse*L*cos(V,L).


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

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