DIRECTORY CedarProcess, ColorDisplay, Controls3d, ImagerColor, Matrix3d, Rope, ThreeDBasics, Vector3d, ViewerClasses; Render3d: CEDAR DEFINITIONS ~ BEGIN ROPE: TYPE ~ Rope.ROPE; Triple: TYPE ~ Vector3d.Triple; TripleSequence: TYPE ~ Vector3d.TripleSequence; TripleSequenceRep: TYPE ~ Vector3d.TripleSequenceRep; NatTable: TYPE ~ ThreeDBasics.NatTable; NatSequence: TYPE ~ ThreeDBasics.NatSequence; RGB: TYPE ~ ImagerColor.RGB; Matrix: TYPE ~ Matrix3d.Matrix; Camera: TYPE ~ Controls3d.Camera; Viewer: TYPE ~ ViewerClasses.Viewer; Context3d: TYPE ~ REF ThreeDBasics.Context; ShapeInstance: TYPE ~ ThreeDBasics.ShapeInstance; Vertex: TYPE ~ ThreeDBasics.Vertex; VertexSequence: TYPE ~ ThreeDBasics.VertexSequence; PtrPatch: TYPE ~ ThreeDBasics.PtrPatch; PtrPatchSequence: TYPE ~ ThreeDBasics.PtrPatchSequence; ShadingValue: TYPE ~ ThreeDBasics.ShadingValue; ShadingSequence: TYPE ~ ThreeDBasics.ShadingSequence; CDState: TYPE ~ ColorDisplay.CDState; Process: TYPE ~ CedarProcess.Process; RenderStyle: TYPE ~ {faceted, smooth, shiny, none}; TextureType: TYPE ~ {intensity, color, bump}; origin: Triple ~ Vector3d.origin; defaultBackground: Triple ~ [0.2, 0.2, 0.7]; nGlobalContext3d: NAT ~ 10; InitContext3d: PUBLIC PROC [background: Triple _ defaultBackground] RETURNS [Context3d]; NullifyThreeDContext: PUBLIC PROC [context3d: Context3d]; AddFileShape: PUBLIC PROC [ context3d: Context3d, shapeName: ROPE, fileName: ROPE, position: Triple _ origin, color: RGB _ [0.7, 0.7, 0.7], renderStyle: RenderStyle _ none]; AddObject: PUBLIC PROC [ context3d: Context3d, polygons: REF NatTable, vertices: REF VertexSequence, shades: REF ShadingSequence, textures: TripleSequence _ NIL, position: Triple _ origin, name: ROPE _ NIL, renderStyle: RenderStyle _ faceted, insideVisible: BOOL _ FALSE, matrix: Matrix _ NIL]; SetRenderStyle: PUBLIC PROC [ context3d: Context3d, shapeName: ROPE, renderStyle: RenderStyle]; SetInsideVisible: PUBLIC PROC [context3d: Context3d, shapeName: ROPE, insideVisible: BOOL]; SetObjectMatrix: PUBLIC PROC [context3d: Context3d, shapeName: ROPE, matrix: Matrix]; SetTextureMap: PUBLIC PROC [ context3d: Context3d, shapeName, textureAIS: ROPE, textureType: TextureType _ intensity]; Render: PUBLIC PROC [ context3d: Context3d, shapeName: ROPE, camera: Camera, fork: BOOL _ TRUE]; TurnOnAntiAliasing: PUBLIC PROC [context3d: Context3d]; TurnOffAntiAliasing: PUBLIC PROC [context3d: Context3d]; PolygonsFromShape: PUBLIC PROC [shape: REF ShapeInstance] RETURNS [REF NatTable]; PointsFromShape: PUBLIC PROC [ shape: REF ShapeInstance, triples: TripleSequence _ NIL] RETURNS [TripleSequence]; END. œRender3d.mesa Copyright c 1985 by Xerox Corporation. All rights reserved. Bloomenthal, February 26, 1987 7:27:36 pm PST Context3d Initialization Initialize the ThreeDWorld context. Presently, this will utilize the entire color display without the Viewers mechanism. Changing the color display should cause a redraw. Remove the ThreeDWorld context from the set of contexts to be redrawn when the color display changes; Inserting Objects Add a shape from file. Add the specified object to the ThreeDWorld context. Adjusting Objects Change the rendering style for an object. Set whether back facing polygons are rendered or not. Change the position, orientation, scale, etc. of an object. Read in the appropriate texture map for the given shape. Iff anti-aliasing is on, this will display the given shape with the given texture. Rendering Render the 3d context. This will draw images using the alpha buffer; texture mapping is enabled. This will draw images without using the alpha buffer; texture mapping will be disabled. Miscellany Return the polygons which constitute the given shape. Return the vertices which constitute the given shape; use triples if non-NIL. Κ,˜šœ ™ Jšœ Οmœ1™