イメージ処理フィルター > IlvBitmapFilter:イメージ処理クラス > IlvLightSource クラス
 
IlvLightSource クラス
IlvLightSource クラスは、光源をモデル化します。これには使用可能なサブクラスが 3 つあります。
IlvDistantLight クラス
IlvDistantLight は、方位と標高を使って無限光源をモデル化します。
Lx = cos(azimuth)*cos(elevation)
Ly = sin(azimuth)*cos(elevation)
Lz = sin(elevation)
IlvPointLight クラス
IlvPointLight は、LightxLightyLightz の 3 つの座標を使用して位置を設定できる光源をモデル化します。
IlvSpotLight クラス
IlvSpotLight は、LightxLightyLightz の 3 つの座標を使用して位置を設定できるスポット・ライト光源をモデル化します。
Lx = Lightx - x
Ly = Lighty - y
Lz = Lightz - Z(x,y)
L = (Lx, Ly, Lz) / Norm(Lx, Ly, Lz)
ここで:
Lightx, Lighty, および Lightz
入射光源の位置
Lr, Lg, Lb
光源色のベクトルは、スポット・ライトの場合のみの位置関数です。
Lr = Lightr*pow((-L.S),specularExponent)
Lg = Lightg*pow((-L.S),specularExponent)
Lb = Lightb*pow((-L.S),specularExponent)
S を、x-y 平面の光源から点 (pointsAtXpointsAtYpointsAtZ) を指す単位ベクトルとすると、以下のようになります。
Sx = pointsAtX - Lightx
Sy = pointsAtY - Lighty
Sz = pointsAtZ - Lightz
S = (Sx, Sy, Sz) / Norm(Sx, Sy, Sz)

Version 5.6
Copyright © 2012, Rogue Wave Software, Inc. All Rights Reserved.