LightRep:
TYPE ~
RECORD [
type: ATOM ← NIL, -- type of light
name: ROPE ← NIL, -- name of light
position: Triple ← [200.0, 100.0, 100.0], -- position of the light
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], -- unitd position of light
illuminationProc: IlluminationProc ← NIL, -- illumination due to this light
highlight: Triple ← [], -- highlight direction
a, b, f, eDotH: REAL ← 0.0, -- shading accelerators
shape: Shape ← NIL, -- if this light isn't round
privateData: REF ANY -- data for this type of 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
element: SEQUENCE maxLength: CARDINAL OF Light
];