LightRep:
TYPE ~
RECORD [
name: ROPE ¬ NIL, -- name of light
position: Triple ¬ [200.0, 100.0, 100.0], -- position of the light
screen: Pair ¬ [0.0, 0.0], -- screen position
eyePosition: Triple ¬ [0.0, 0.0, 0.0], -- eyespace position of the light
color: RGB ¬ [0.7, 0.7, 0.7], -- color of light
direction: Triple ¬ [0.8, 0.4, 0.4], -- unitized position of light
highlight: Triple ¬ [], -- highlight direction
a, b, f, eDotH: REAL ¬ 0.0, -- shading accelerators
shape: Shape ¬ NIL, -- if this light isn't round
radius: REAL ¬ 2.*93000000.*609.344, -- 2x solar distance (meters)
exponent: REAL ¬ 2.0, -- for Phong shading
lightProc: LightProc ¬ NIL -- compute shade from this light
];
LightSequenceRep:
TYPE ~
RECORD [
length: CARDINAL ¬ 0,
ambient: RGB ¬ [0.7, 0.7, 0.7], -- ambient light level
shadowDarken: REAL ¬ 0.1, -- amount to darken shadowed
drawLights: BOOL ¬ TRUE,
element: SEQUENCE maxLength: CARDINAL OF Light
];