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.  G3dShade.mesa Copyright Σ 1985, 1989, 1992 by Xerox Corporation. All rights reserved. Bloomenthal, July 15, 1992 10:42 pm PDT Crow, May 16, 1989 2:59:13 pm PDT Types Ambient Light Return the ambient light given the surface normal. Who knows what data means? Shading Compute the surface intensity (summed over all the lights) given the surface normal. Does not test for the surface being in shadow. Return the surface intensity. Compute the intensity of the specular component. Compute the intensity of the diffuse component. Κ§•NewlineDelimiter –"cedarcode" style™™ Jšœ Οeœ=™HJ™'Jšœ!™!J˜JšΟk œ)˜2J˜—šΡblnœžœž ˜Jšœž˜—headšΟl™Jšœ žœ˜#Jšœžœ˜"Jšœžœ˜/Jšžœžœ žœ˜Jšœ žœ˜!—š  ™ š Οnœžœžœžœžœ žœ˜GJ™N——š ™š‘œžœ˜JšœAžœ˜FJšžœžœ˜J™TJ™.J˜—š‘œžœžœ:žœ˜\Jšžœžœ˜J™J˜—š‘œžœ(žœžœ˜OJ™0J˜—š‘œžœžœžœ˜EJ™/—J˜—šžœ˜J˜—J˜J˜—…—ή›