Structure of ThreeDRender code
Crow, May 30, 1989 4:07:43 pm PDT
G3dRender.mesa    -- basic types, vertex, patch, shape, context, basic classes,
          procedures needed by multiple packages, shape type registry
        -- setting up, modifying contexts and scenes
G3dShade      -- basic vertex/spot shading routines, registry
G3dLight      -- ?
G3dSortAndDisplay.mesa -- context validation, surface sorting, display
G3dClipXfmShade.mesa  -- patch transform, clipping, shading
G3dScanConvert    -- jaggy scan conversion, lines and polygons
G3dEdgeBlt     -- support routines for scan conversion
G3dRenderWithImager  -- supports rendering through the imager on color or LF displays
G3dRenderWithPixels  -- rendering directly on color display, antialising tiler
G3dColorDisplaySupport -- reading AIS files color display support, allocation
G3dMappedAndSolidTexture -- texturing routines
G3dRenderPackage-- basic rendering routines packaged together
G3dColorDisplaySupportImpl;
G3dEdgeBltImpl;
G3dLightImpl;
G3dMappedAndSolidTextureImpl;
G3dRenderImpl;
G3dShadeImpl;
G3dRenderWithImagerImpl;
G3dRenderWithPixelsImpl;
G3dScanConvertImpl;
G3dClipXfmShadeImpl;
G3dSortandDisplayImpl;

ThreeDViewer.mesa  -- viewers with pop-up buttons
ThreeD.TIP     -- and TIP table
RenderWithImager.mesa -- for drawing through imager
ColorDisplayRender.mesa -- code for fancy rendering, using color display and/or viewers
AISAnimation.mesa   -- Playback of sequences from AIS files
Animation3D.mesa   -- hacks for calculating 3-d trajectories for animations
DistributedRender.mesa  -- distributes display task across ethernet
ImageTwiddle.mesa   -- image, colormap manipulations,
Interactive3D.mesa   -- tools for interacting with 3d contexts, hit detection, etc.
ShapeTwiddle.mesa   -- tools for modifying and building shapes
StandardPatches.mesa  -- procedures for expansion of patches (Bezier and Polygons now)
RenderWithStreamPackage -- package for rendering under remote control
RenderWithStreamImpl.mesa
SceneBuildingPackage
BasicRenderPackage
FancyRenderPackage
ThreeDDemoPackage   -- An example main program with a menu of demos
ThreeDDemoImpl.mesa
RenderWithImager.mesa
ColorDisplayRender.mesa
SceneBuildingPackage
BasicRenderPackage
FancyRenderPackage
ThreeDViewer.mesa
AISAnimation.mesa, Animation3D.mesa, DistributedRender.mesa, ImageTwiddle.mesa, Interactive3D.mesa, ShapeTwiddle.mesa, StandardPatches.mesa
ThreeDImagerPackage -- package for rendering through imager (not implemented)
RenderWithImager.mesa
ThreeDViewer.mesa
SceneBuildingPackage
BasicRenderPackage
Animation3D.mesa, StandardPatches.mesa
ThreeDColorDisplayPackage -- package for rendering directly on dorado color display (not implemented)
ColorDisplayRender.mesa
SceneBuildingPackage
BasicRenderPackage
FancyRenderPackage
AISAnimation.mesa, Animation3D.mesa, DistributedRender.mesa, ImageTwiddle.mesa, Interactive3D.mesa, ShapeTwiddle.mesa, StandardPatches.mesa
Imports  
ImagerSample.mesa    -- layer on top of bitblt for dealing with bits
ImagerPixel.mesa     -- sets of SampleMaps from the previous interface
ColorNames.mesa     -- Color naming scheme to arbitrary depth
Registerable procedures
ShadingProcs      -- Perlin 3d texture and such things
QuickListProcs     -- Display lists for line drawings
StandardPatchProcs    -- Implementation of Bezier patches, b-splines
PatchFromPolyProcs    -- Implementation of patches from polygon data
BezierFromPolyProcs   -- Implementation of Bezier patches from polygon data