Учебник по VRML 97

          

PointLight (точечный источник)


Описание:

PointLight { ambientIntensity 0 attenuation 1 0 0 color 1 1 1 intensity 1 location 0 0 0 on TRUE radius 100 }

Узел PointLight служит для размещения в сцене точечного источника света, который излучает по всем направлениям (что-то вроде лампочки или свечи). Соответственно, Вы должны указать координаты источника (параметр location x y z). Что такое ambientIntensity, intensity, color смотри выше. Параметр radius задает радиус сферы освещения, а attenuation задает, как быстро будет падать интенсивность по мере удаления от центра. Три числа, указываемые для attenuation, используются в формуле для вычисления интенсивности на расстоянии r от центра:

PointLight (точечный источник)

Вот как будет выглядеть график зависимости I(r) для некоторых наборов трех чисел в параметре attenuation. Посчитано в пределах принятого по умолчанию радиуса сферы освещения 100 м.

Очевидно, что при attenuation 1 0 0 интенсивность менятся не будет:

PointLight (точечный источник)

PointLight (точечный источник)

PointLight (точечный источник)

PointLight (точечный источник)

Учтите, что PointLight является children узлом, поэтому может находиться внутри узла Transform, который повлияет на положение (через параметр translation) или на радиус освещенности (через параметр scale).

И, как обычно, пример.

. .

Обратите внимание на два момента: во-первых, действительно, поигравшись с параметрами attenuation, можно добиться видимого эффекта (в данном случае attenuation 0 0.4 0); во-вторых, так же, как и в случае нет теней: средняя и правая сферы не заслонены левой!



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