<<>> <> <> <> <> DIRECTORY G3dBasic, G3dLight, G3dRender, G3dShape; G3dShade: CEDAR DEFINITIONS ~ BEGIN <> Triple: TYPE ~ G3dBasic.Triple; Light: TYPE ~ G3dLight.Light; LightSequence: TYPE ~ G3dLight.LightSequence; RGB: TYPE ~ G3dRender.RGB; Shape: TYPE ~ G3dShape.Shape; <> Ambient: PROC [normal: Triple, data: REF ¬ NIL] RETURNS [ambient: RGB]; <> <> TotalSurfaceIntensity: PROC [ normal, eyeView: Triple, lights: LightSequence, portionSpecular: REAL] RETURNS [REAL]; <> <> SurfaceIntensity: PUBLIC PROC [light: Light, normal, eyeView: Triple, portionSpecular: REAL] RETURNS [REAL]; <> SpecularIntensity: PROC [light: Light, normal, eyeView: Triple] RETURNS [REAL]; <> DiffuseIntensity: PROC [light: Light, normal: Triple] RETURNS [REAL]; <> END.