IlvLightSource クラス
IlvLightSource クラスは、光源をモデル化します。これには使用可能なサブクラスが 3 つあります。
IlvDistantLight クラス
IlvDistantLight は、方位と標高を使って無限光源をモデル化します。
Lx = cos(azimuth)*cos(elevation)
Ly = sin(azimuth)*cos(elevation)
Lz = sin(elevation)
IlvPointLight クラス
IlvPointLight は、
Lightx、
Lighty、
Lightz の 3 つの座標を使用して位置を設定できる光源をモデル化します。
IlvSpotLight クラス
IlvSpotLight は、
Lightx、
Lighty、
Lightz の 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 平面の光源から点 (pointsAtX、pointsAtY、pointsAtZ) を指す単位ベクトルとすると、以下のようになります。
Sx = pointsAtX - Lightx
Sy = pointsAtY - Lighty
Sz = pointsAtZ - Lightz
S = (Sx, Sy, Sz) / Norm(Sx, Sy, Sz)
Version 6.0
Copyright © 2015, Rogue Wave Software, Inc. All Rights Reserved.