1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

diffuse_color

Тема в разделе "Mental Ray", создана пользователем DanR, 11 ноя 2011.

Модераторы: Alex Kras
  1. DanR

    DanR Активный участник

    С нами с:
    13.02.2009
    Сообщения:
    240
    Симпатии:
    0
    Баллы:
    19
    кто может объяснить что такое диффузный цвет, отражение??
     
  2. moooV

    moooV Знаток

    С нами с:
    12.06.2008
    Сообщения:
    433
    Симпатии:
    5
    Баллы:
    20
    Я месяц назад статью на хабр написал - там про это есть. Скролльте до белого чайника.
     
  3. DanR

    DanR Активный участник

    С нами с:
    13.02.2009
    Сообщения:
    240
    Симпатии:
    0
    Баллы:
    19
    статью прочитал, интересно, но на мой вопрос ответа я не нашел...
    diffuse color - "всенаправленное" отражение света - цвета поверхности или что? если да тогда чем отличается от ambient? почему говорят диффузный цвет, и просто цвет - меня интересует именно это различие!
     
  4. moooV

    moooV Знаток

    С нами с:
    12.06.2008
    Сообщения:
    433
    Симпатии:
    5
    Баллы:
    20
    Ambient - это просто КОНСТАНТНЫЙ цвет, который плюсуется к диффузу внутри шейдера и НЕ ЗАВИСИТ ОТ ОСВЕЩЕНИЯ.

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

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

    [​IMG]
     
  5. DanR

    DanR Активный участник

    С нами с:
    13.02.2009
    Сообщения:
    240
    Симпатии:
    0
    Баллы:
    19
    цитирую из справки Ф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
    либо я загоняюсь...
     
  6. Rebate

    Rebate Знаток

    С нами с:
    19.01.2010
    Сообщения:
    1.698
    Симпатии:
    61
    Баллы:
    59
    Потому что переводится с английского как рассеянный цвет. Диффузный и есть основной, вы всё правильно цитировали, просто не вникли в написанное... непосредственно тот цветовой диапазон, та длина волны света, которую возвращает поверхность в камеру, определяющаяся свойствами поверхности...
     
  7. moooV

    moooV Знаток

    С нами с:
    12.06.2008
    Сообщения:
    433
    Симпатии:
    5
    Баллы:
    20
    DanR, просто совет. Пригодится.

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

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


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

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

    [​IMG]

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


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

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

Поделиться этой страницей