Самоучитель по 3dsmax 7

         

Модель освещения


ОСВЕЩЕНИЕ
5.1. Модель освещения

Освещенность произвольно взятой точки P, появившуюся из-за источника света, излучающего во все стороны (omnilight) в общем случае будем вычислять по уравнению Фонга:

ambient = Ka,
diffuse = Kd * cos(N, L),
specular = Ks * pow(cos(R, V), Ns),
intensity = ambient + amp * (diffuse + specular).

Здесь использованы следующие обозначения:



Kaкоэффициент фоновой интенсивности (характеристика окружающей среды)
Kdкоэффициент рассеяния (характеристика поверхности)
Ksкоэффициент отражения (характеристика поверхности)
Nsкоэффициент вида отражения (характеристика поверхности)
amp"мощность" источника света
Pрассматриваемая точка
Nнормаль к поверхности изображаемого объекта в точке P
Lвектор, проведенный из точки P в источника света (луч света)
Vвектор, проведенный из точки P в "точку зрения" камеры
Rотраженный луч света (отражение L относительно N)
ambient"фоновая" освещенность
diffuse"рассеянная" освещенность
specular"отраженная" освещенность
intensityосвещенность (суммарная)
cos(A,B)косинус угла между векторами A и B

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

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

Да, косинус угла между векторами считается как

cos(A,B) = A*B/(|A|*|B|),

где A*B - скалярное произведение векторов, |A| и |B| - их длины.



Содержание раздела