TextureFigures.cm
Crow, December 8, 1989 4:46:57 pm PST
&sgf[ThreeDDemoImpl]
ViewerLocksImpl.debugging ← TRUE     -- allows breakpoints in paint procs
Texture:
Figure 1 - color - /Cyan/AIS/Crow/TestScene2.ais
Figure 2 - color - /Cyan/AIS/Crow/Lamming7Scene.ais
Figure 3 - color - /Cyan/AIS/Crow/MultiTxtrdEgg2.ais
Figure 4 - color - /Cyan/AIS/Crow/ComparisonEggs.ais (cropped)
Figure 5 - color - from old slide (hard to reproduce)
Figure 6 - color - easily reproduced locally generated image
Figure 7 - color - /Cyan/AIS/Crow/ZebraBurlTeaPot.ais
Figure 8 - b&w - copied from old paper (could be reproduced with difficulty)
Figure 9 - b&w - copied from old paper (easily reproduced)
Figure 10 - b&w - ais file lost when disk went South (possibly easily reproduced)
Figure 1 - color - /Saratoga/Cedar/Users/Crow.pa/3d/FiveObjects*.ais
Five Object Image and CheckerBoard
Crow, June 14, 1989 9:03:28 am PDT
Reset[]
context3d ← G3dRender.CreateUndisplayedContext[oldContext: context3d, keepLog: TRUE]
G3dRender.SetView[ context3d, [6.0, -3.2, 3.0], [0.0, -0.35, -0.25] ]
G3dRender.AddShapeFromFile[ context3d, "ChampagneGlass", "/Indigo/3dGraphics/Shapes/ChampagneGlass.shape", [1.0, 0.0, 0.0] ]
G3dRender.LoadShapeClass[ G3dRender.FindShape[context3d, "ChampagneGlass"], $PolygonToBezier ]
G3dRender.SetColor[ G3dRender.FindShape[context3d, "ChampagneGlass"], [1.0, .0, 1.0] ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "ChampagneGlass"], smooth ]
G3dRender.SetShininess[ G3dRender.FindShape[context3d, "ChampagneGlass"], 50.0 ]
G3dRender.SetTransmittance[G3dRender.FindShape[context3d, "ChampagneGlass"], 0.9 ]
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "ChampagneGlass"], axis: [[.0,.0,.0],[.0,.0,1.0]], rotation: 45.0 ] -- about vertical
G3dMappedAndSolidTexture.AddSolidTexture[context3d, "ChampagneGlass", $TwistedStripes ]
G3dRender.AddShapeFromFile[ context3d, "UtahEgg", "/Indigo/3dGraphics/Shapes/UtahEgg.shape" ]
G3dRender.LoadShapeClass[ G3dRender.FindShape[context3d, "UtahEgg"], $PolygonWithNormals]
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "UtahEgg"], translate: [-3.0, -0.5, .0], axis: [[.0,.0,.0],[-1.0,1.0,0.0]], rotation: -90.0 ] -- flop over, at angle
G3dRender.SetColor[ G3dRender.FindShape[context3d, "UtahEgg"], [1.0, .8, .5] ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "UtahEgg"], smooth ]
G3dRender.SetShininess[ G3dRender.FindShape[context3d, "UtahEgg"], 50.0 ]
G3dMappedAndSolidTexture.RemoveAllTexture[context3d, "UtahEgg" ]
G3dMappedAndSolidTexture.AddMappedTexture[ context3d, "UtahEgg", G3dMappedAndSolidTexture.TextureFromAIS[context3d, "/CedarChest7.0/ThreeDWorld/Texture.ais", $Intensity] ]
G3dMappedAndSolidTexture.SumAllMappedTextures[ context3d, "UtahEgg" ]
G3dMappedAndSolidTexture.MakeTxtrCoordsFromNormals[ context3d, "UtahEgg", [0.0, 0.0], [2.0, 3.0], [5.0, 3.0], [3.0, 0.0] ]
G3dRender.AddShapeFromFile[ context3d, "Banana", "/Indigo/3dGraphics/Shapes/Banana.shape"]
G3dRender.LoadShapeClass[ G3dRender.FindShape[context3d, "Banana"], $PolygonWithNormals ]
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "Banana"], translate: [-1.0, -1.0, -0.5], scale: 1.5 ]
G3dRender.SetColor[ G3dRender.FindShape[context3d, "Banana"], [1.0, .9, .1] ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "Banana"], smooth ]
G3dRender.AddShapeFromFile[ context3d, "Doughnut", "/Indigo/3dGraphics/Shapes/Doughnut.shape" ]
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "Doughnut"], translate: [-0.5, 2.0, -0.75], axis: [[.0,.0,.0],[1.0,.0,.0]], rotation: 90.0, scale: 1.5 ]
G3dRender.SetColor[ G3dRender.FindShape[context3d, "Doughnut"], [0.7, .4, .2] ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "Doughnut"], smooth ]
G3dRender.AddShapeFromFile[ context3d, "Teaspoon", "/Indigo/3dGraphics/Shapes/Teaspoon.shape" ]
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "Teaspoon"], translate: [2.0, -1.8, .0], axis: [[.0,.0,.0],[.0,.0,1.0]], rotation: 180.0 ]
G3dRender.SetColor[ G3dRender.FindShape[context3d, "Teaspoon"], [0.8, 0.8, 0.8] ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "Teaspoon"], smooth ]
G3dRender.SetShininess[ G3dRender.FindShape[context3d, "Teaspoon"], 50.0 ]
G3dRender.AddShapeFromFile[context3d, "CheckerBoard", "/Indigo/3dGraphics/Shapes/CheckerBoard.shape", [-12.0, -6.0, -3.0]]
G3dRender.SetColor[ G3dRender.FindShape[context3d, "CheckerBoard"], [.8, .4, .2] ]
G3dRender.AddShapeFromFile[ context3d, "CheckerBoard2", "/Indigo/3dGraphics/Shapes/CheckerBoard.shape" ]
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "CheckerBoard2"], translate: [-12.0, -6.0, -3.0], axis: [[8.0, 8.0, 0.0], [.0, .0, 1.0]], rotation: 90.0 ] -- rotate to fill other half of board
G3dRender.SetColor[ G3dRender.FindShape[context3d, "CheckerBoard2"], [.1, .1, .1] ]
G3dRenderWithPixels.AntiAliasing[context3d]
G3dRender.StartLog[context3d]
G3dSortAndDisplayImpl.progressReportsPerFrame ← 20;   -- make progress reports
G3dColorDisplaySupport.MakeHiResFrame[ context3d, 400, 300, "FiveObjects400x300.ais" ]
G3dColorDisplaySupport.MakeHiResFrame[ context3d, 1350, 1011, "FiveObjects1350x1011.ais" ]
G3dColorDisplaySupport.MakeHiResFrame[ context3d, 2000, 1500, "FiveObjects2000x1500.ais" ]
MakeFrame[]
G3dRender.PutAIS[ StoreImage, "TestScene2.ais" ]
Figure 2 - color - /Saratoga/Cedar/Users/Crow.pa/3d/Lamming7Scene*.ais
Lamming Illustration
InitNoDisplay[]    -- for computing remotely or otherwise blind
Reset[]
G3dRender.NameBackgroundColor[ context3d, "Dark Lightish Cyanish Blue" ]
G3dRender.SetView[ context3d, [-0.1, -27.0, 5.2], [0.0, -17.0, 3.0] ]
G3dRender.AddLight[context3d, "Light0", [-300.0, -200.0, 450.0] ]
G3dRender.AddShapeFromFile[ context3d, "ChampagneGlass", "[indigo]<3dGraphics>shapes>ChampagneGlass.shape" ]
G3dRender.LoadShapeClass[ G3dRender.FindShape[context3d, "ChampagneGlass"], $PolygonToBezier ]
G3dRender.SetColor[ G3dRender.FindShape[context3d, "ChampagneGlass"], [1.0, .0, 1.0] ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "ChampagneGlass"], smooth ]
G3dRender.SetShininess[ G3dRender.FindShape[context3d, "ChampagneGlass"], 50.0 ]
G3dRender.SetTransmittance[G3dRender.FindShape[context3d, "ChampagneGlass"], 0.9 ]
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "ChampagneGlass"], translate: [0.0, -21.7, 4.0], axis: [[.0,.0,.0],[.0,.0,1.0]], rotation: -45.0 ] -- about vertical
G3dRender.AddShapeFromFile[context3d, "ChampagneGlassShadow", "[ivy]<Crow>shapes>ChampagneGlassShadow.shape" ]
G3dShade.LoadShadingClass[ G3dRender.FindShape[context3d, "ChampagneGlassShadow"], $NoShading ]
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "ChampagneGlassShadow"], translate: [0.05, -20.5, 3.83], axis: [[.0,.0,.0],[.0,.0,1.0]], rotation: -45.0, scale: 1.33 ] -- rotate about vertical, scale up
G3dRender.SetColor[ G3dRender.FindShape[context3d, "ChampagneGlassShadow"], [0.0, 0.0, 0.0] ]
G3dRender.SetTransmittance[G3dRender.FindShape[context3d, "ChampagneGlassShadow"], 1.0 ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "ChampagneGlassShadow"], smooth]
G3dRender.AddShapeFromFile[ context3d, "Tree", "[ivy]<Crow>shapes>TreeSquare.shape" ]
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "Tree"], axis: [[.0,.0,.0],[.0,.0,1.0]], rotation: 180.0 ]   -- flip to get texture right side up
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "Tree"], translate: [0.5, -15.0, 4.25], axis: [[.0,.0,.0],[1.0,.0,.0]], rotation: 90.0, scale: 1.5, concat: TRUE ] -- tip up, scale up
G3dRender.SetColor[ G3dRender.FindShape[context3d, "Tree"], [1.0, 1.0, 1.0] ]
G3dRender.SetTransmittance[G3dRender.FindShape[context3d, "Tree"], 1.0 ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "Tree"], smooth ]
G3dMappedAndSolidTexture.AddMappedTexture[ context3d, "Tree", G3dMappedAndSolidTexture.TextureFromAIS[context3d, "/pixel/crow/texture/tree1Out.ais", $ColorAndTransmittance] ]
G3dMappedAndSolidTexture.SumAllMappedTextures[ context3d, "Tree" ]
G3dRender.AddShapeFromFile[ context3d, "Tree2", "[ivy]<Crow>shapes>TreeSquare.shape" ]
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "Tree2"], axis: [[.0,.0,.0],[.0,.0,1.0]], rotation: -90.0 ]   -- flip to get texture right side up
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "Tree2"], translate: [12.0, 10.0, 3.5], axis: [[.0,.0,.0],[1.0,.0,.0]], rotation: 90.0, scale: 3.0, concat: TRUE ] -- tip up, scale up
G3dRender.SetColor[ G3dRender.FindShape[context3d, "Tree2"], [1.0, 1.0, 1.0] ]
G3dRender.SetTransmittance[G3dRender.FindShape[context3d, "Tree2"], 1.0 ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "Tree2"], smooth ]
G3dMappedAndSolidTexture.AddMappedTexture[ context3d, "Tree2", G3dMappedAndSolidTexture.TextureFromAIS[context3d, "/pixel/crow/texture/tree52AM.ais", $ColorAndTransmittance] ]
G3dMappedAndSolidTexture.SumAllMappedTextures[ context3d, "Tree2" ]
G3dRender.AddShapeFromFile[ context3d, "Tree3", "[ivy]<Crow>shapes>TreeSquare.shape" ]
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "Tree3"], axis: [[.0,.0,.0],[1.0,.0,.0]], rotation: 180.0 ]   -- flip to get texture right side up and reversed
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "Tree3"], translate: [-10.0, 10.0, 2.5], axis: [[.0,.0,.0],[1.0,.0,.0]], rotation: 90.0, scale: 3.0, concat: TRUE ] -- tip up, scale up
G3dRender.SetColor[ G3dRender.FindShape[context3d, "Tree3"], [1.0, 1.0, 1.0] ]
G3dRender.SetTransmittance[G3dRender.FindShape[context3d, "Tree3"], 1.0 ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "Tree3"], smooth ]
G3dRender.FindShape[context3d, "Tree3"].renderData.shadingClass ← G3dRender.FindShape[context3d, "Tree"].renderData.shadingClass
G3dRender.AddShapeFromFile[ context3d, "UtahEgg", "[indigo]<3DGraphics>Shapes>UtahEgg.shape" ]
G3dRender.LoadShapeClass[ G3dRender.FindShape[context3d, "UtahEgg"], $PolygonWithNormals ]
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "UtahEgg"], axis: [[.0,.0,.0],[.0,.0,1.0]], rotation: -135.0 ] -- rotate about vertical
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "UtahEgg"], translate: [1.5, -19.0, 3.66], axis: [[.0,.0,.0],[1.0,1.0,0.0]], rotation: -90.0, concat: TRUE ] -- flop over, scale up
G3dRender.SetColor[ G3dRender.FindShape[context3d, "UtahEgg"], [1.0, .8, .5] ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "UtahEgg"], smooth ]
G3dRender.SetShininess[ G3dRender.FindShape[context3d, "UtahEgg"], 50.0 ]
G3dMappedAndSolidTexture.RemoveAllTexture[context3d, "UtahEgg" ]
G3dMappedAndSolidTexture.AddSolidTexture[context3d, "UtahEgg", $Checks ]
G3dMappedAndSolidTexture.AddSolidTexture[context3d, "UtahEgg", $PartialBurl ] -- on top
G3dRender.AddShapeFromFile[context3d, "UtahEggShadow", "/Ivy/Crow/Shapes/UtahEggShadow.shape"]
G3dShade.LoadShadingClass[ G3dRender.FindShape[context3d, "UtahEggShadow"], $NoShading ]
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "UtahEggShadow"], axis: [[.0,.0,.0],[.0,.0,1.0]], rotation: 45.0 ]     -- rotate
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "UtahEggShadow"], translate: [1.8, -18.0, 2.8], axis: [[.0,.0,.0],[1.0,1.0,0.0]], rotation: -90.0 ] -- flop over, scale up
G3dRender.SetColor[ G3dRender.FindShape[context3d, "UtahEggShadow"], [0.0, 0.0, 0.0] ]
G3dRender.SetTransmittance[G3dRender.FindShape[context3d, "UtahEggShadow"], 1.0 ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "UtahEggShadow"], smooth ]
G3dRender.AddShapeFromFile[ context3d, "Banana", "[indigo]<3DGraphics>Shapes>Banana.shape" ]
G3dRender.LoadShapeClass[ G3dRender.FindShape[context3d, "Banana"], $PolygonWithNormals ]
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "Banana"], translate: [-1.2, -20.5, 3.8], axis: [[.0,.0,.0],[.0,.0,1.0]], rotation: -30.0, scale: 1.5 ] -- flop over, scale up
G3dRender.SetColor[ G3dRender.FindShape[context3d, "Banana"], [1.0, 1.0, 1.0] ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "Banana"], smooth ]
G3dRender.AddShapeFromFile[context3d, "BananaShadow", "/Ivy/Crow/Shapes/BananaShadow.shape"]
G3dShade.LoadShadingClass[ G3dRender.FindShape[context3d, "BananaShadow"], $NoShading ]
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "BananaShadow"], translate: [-1.3, -18.5, 3.1], axis: [[.0,.0,.0],[.0,.0,1.0]], rotation: -30.0, scale: 2.3 ] -- rotate, scale up
G3dRender.SetColor[ G3dRender.FindShape[context3d, "BananaShadow"], [0.0, 0.0, 0.0] ]
G3dRender.SetTransmittance[G3dRender.FindShape[context3d, "BananaShadow"], 1.0 ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "BananaShadow"] , smooth]
G3dRender.AddShapeFromFile[ context3d, "Sphere", "[indigo]<3DGraphics>shapes>PolySphere.shape" ]
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "Sphere"], axis: [[.0,.0,.0],[.0,1.0,.0]], rotation: 180.0 ] -- rotate upside down
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "Sphere"], translate: [-2.8, -12.0, 4.25], axis: [[.0,.0,.0],[.0,.0,1.0]], rotation: 60.0, scale: 1.3, concat: TRUE ] -- rotate, scale up
G3dRender.SetColor[ G3dRender.FindShape[context3d, "Sphere"], [1.0, 1.0, 1.0] ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "Sphere"], smooth ]
G3dRender.SetShininess[ G3dRender.FindShape[context3d, "Sphere"], 100.0 ]
G3dMappedAndSolidTexture.AddMappedTexture[ context3d, "Sphere", G3dMappedAndSolidTexture.TextureFromAIS[context3d, "/Pixel/Lamming/Mugs/MikT.ais", $Color] ]
G3dMappedAndSolidTexture.SumAllMappedTextures[ context3d, "Sphere" ]
G3dMappedAndSolidTexture.MakeTxtrCoordsFromNormals[ context3d, "Sphere", [0.0, 0.0], [0.0, 1.0], [1.0, 1.0], [1.0, 0.0], [-180.0, -80.0], [-180.0, 80.0], [0.0, 80.0], [0.0, -80.0] ]
G3dScene.ReadParameters[context3d, "/ivy/Crow/Shapes/HexTiles.scene" ]
G3dRender.AddShapeFromFile[ context3d, "BackDrop", "[ivy]<Crow>shapes>BackDrop.shape", [0.0, 50.0, -1.0] ]
G3dShade.LoadShadingClass[ G3dRender.FindShape[context3d, "BackDrop"], $NoShading ]
G3dRender.SetColor[ G3dRender.FindShape[context3d, "BackDrop"], [1.0, 1.0, 1.0] ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "BackDrop"], smooth]
G3dColorDisplaySupportImpl.timeResolution ← 20
G3dRenderWithPixels.AntiAliasing[context3d]
MakeFrame[]
G3dColorDisplaySupport.PutAIS[ context3d, "Lamming7Scene.ais" ]
G3dRender.StartLog[context3d]
G3dSortAndDisplayImpl.progressReportsPerFrame ← 20;   -- make progress reports
G3dColorDisplaySupport.MakeHiResFrame[ context3d, 400, 300, "Lamming7Scene400x300.ais" ]
G3dColorDisplaySupport.MakeHiResFrame[ context3d, 1350, 1011, "Lamming7Scene1350x1011.ais" ]
G3dColorDisplaySupport.MakeHiResFrame[ context3d, 1536, 1152, "Lamming7Scene1536x1152.ais" ]
InterPressToPD Lamming7Scene2000x1500.Interpress Color400 ColorCorrection 0.45 scale
G3dColorDisplaySupport.MakeHiResFrame[ context3d, 1024, 768, "Lamming7Scene1024x768.ais" ]

G3dRender.SetInvisible[ G3dRender.FindShape[context3d,"ChampagneGlass"]]
G3dRender.SetInvisible[ G3dRender.FindShape[context3d,"ChampagneGlassShadow"]]
G3dRender.SetInvisible[ G3dRender.FindShape[context3d,"Tree"]]
G3dRender.SetInvisible[ G3dRender.FindShape[context3d,"UtahEgg"]]
G3dRender.SetInvisible[ G3dRender.FindShape[context3d,"UtahEggShadow"]]
G3dRender.SetInvisible[ G3dRender.FindShape[context3d,"Banana"]]
G3dRender.SetInvisible[ G3dRender.FindShape[context3d,"BananaShadow"]]
G3dRender.SetInvisible[ G3dRender.FindShape[context3d,"Sphere"]]
G3dRender.SetVisible[ G3dRender.FindShape[context3d,"ChampagneGlass"]]
G3dRender.SetVisible[ G3dRender.FindShape[context3d,"ChampagneGlassShadow"]]
G3dRender.SetVisible[ G3dRender.FindShape[context3d,"Tree"]]
G3dRender.SetVisible[ G3dRender.FindShape[context3d,"UtahEgg"]]
G3dRender.SetVisible[ G3dRender.FindShape[context3d,"UtahEggShadow"]]
G3dRender.SetVisible[ G3dRender.FindShape[context3d,"Banana"]]
G3dRender.SetVisible[ G3dRender.FindShape[context3d,"BananaShadow"]]
G3dMappedAndSolidTexture.RemoveAllTexture[context3d, "Tree2" ]
G3dMappedAndSolidTexture.RemoveAllTexture[context3d, "Tree3" ]
Figure 3 - color - /Saratoga/Cedar/Users/Crow.pa/3d/MultiTxtrdEgg*.ais
Multitextured Egg
InitNoViewer[]          -- watch pixel updates
G3dRender.LoadDisplayClass[context3d, $Gray]
Reset[]
G3dRender.AddLight[context: context3d, name: "Light0", position: [75.0, -200.0, 150.0], color: [1.0, 1.0, 0.3] ]
G3dRender.AddLight[context: context3d, name: "Light1", position: [250.0, -200.0, 150.0], color: [1.0, 0.5, 0.5] ]
G3dRender.NameAmbientLight[context3d, "weakish darkish blue"]
G3dRender.AddShapeFromFile[ context3d, "Egg", "/Indigo/3dGraphics/Shapes/UtahEgg.shape", [0.0, 0.0, 0.0]]
G3dRender.LoadShapeClass[ G3dRender.FindShape[context3d, "Egg"], $PolygonWithNormals ]
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "Egg"], axis: [[.0,.0,.0],[.0,1.0,.0]], rotation: 90.0 ]   -- about depth axis
G3dRender.SetColor[ G3dRender.FindShape[context3d, "Egg"], [1.0, 1.0, 1.0] ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "Egg"], smooth]
G3dRender.SetShininess[ G3dRender.FindShape[context3d, "Egg"], 150.0 ]
G3dRender.SetView[context3d, [-1.0, -4.0, 0.0], [0.0, 0.0, 0.0] ]
G3dMappedAndSolidTexture.RemoveAllTexture[ context3d, "Egg" ]
G3dMappedAndSolidTexture.MakeTxtrCoordsFromNormals[ context3d, "Egg", [0.0, 0.0], [2.0, 3.0], [5.0, 3.0], [3.0, 0.0] ]
G3dMappedAndSolidTexture.AddMappedTexture[ context3d, "Egg", G3dMappedAndSolidTexture.TextureFromAIS[context3d, "/CedarChest7.0/ThreeDWorld/Texture.ais", $Intensity] ]
G3dMappedAndSolidTexture.SumAllMappedTextures[ context3d, "Egg" ]
G3dMappedAndSolidTexture.AddSolidTexture[context3d, "Egg", $GreenSpots ]
G3dMappedAndSolidTexture.AddSolidTexture[context3d, "Egg", $PartialBurl ]
G3dRenderWithPixels.AntiAliasing[context3d]
G3dRender.StartLog[context3d]
G3dSortAndDisplayImpl.progressReportsPerFrame ← 20;   -- make progress reports
G3dColorDisplaySupport.MakeHiResFrame[ context3d, 400, 300, "MultiTxtrdEgg400x300.ais" ]
G3dColorDisplaySupport.MakeHiResFrame[ context3d, 1350, 1011, "MultiTxtrdEgg1350x1011.ais" ]
MakeFrame[]
G3dColorDisplaySupport.PutAIS[context3d, "MultiTxtrdEgg.ais" ]
context3d.class.displayType ← $FullColor
Figure 4 - grey - /Saratoga/Cedar/Users/Crow.pa/3d/TwoTexturedEggs*.ais
Two eggs - one intensity mapped, one bump mapped, same texture
InitNoDisplay[]    -- for computing remotely or otherwise blind
G3dRender.LoadDisplayClass[context3d, $GrayInVM]
Reset[]
G3dRender.SetView[context3d, [0.0, -6.0, 0.0], [0.0, 0.0, 0.0] ]
G3dRender.AddLight[context3d, "Light0", [-50.0, -400.0, 50.0], [1.0, 1.0, 1.0] ]
G3dRender.NameAmbientLight[context3d, "weakish darkish blue"]
G3dRender.AddShapeFromFile[ context3d, "Egg1", "/Indigo/3dGraphics/Shapes/UtahEgg.shape"]
G3dRender.LoadShapeClass[ G3dRender.FindShape[context3d, "Egg1"], $PolygonWithNormals ]
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "Egg1"], translate: [1.0, 0.0, 0.0], axis: [[.0,.0,.0],[.0,.0,1.0]], rotation: -20.0 ] -- about vertical
G3dRender.SetColor[ G3dRender.FindShape[context3d, "Egg1"], [1.0, 0.8, 0.5] ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "Egg1"], smooth]
G3dRender.SetShininess[ G3dRender.FindShape[context3d, "Egg1"], 150.0 ]
G3dMappedAndSolidTexture.MakeTxtrCoordsFromNormals[ context3d, "Egg1", [0.0, 0.0], [2.0, 3.0], [5.0, 3.0], [3.0, 0.0] ]
G3dRender.AddShapeFromFile[ context3d, "Egg2", "/Indigo/3dGraphics/Shapes/UtahEgg.shape"]
G3dRender.LoadShapeClass[ G3dRender.FindShape[context3d, "Egg2"], $PolygonWithNormals ]
G3dShape.TransformShape[ shape: G3dRender.FindShape[context3d, "Egg2"], translate: [-1.0, 0.0, 0.0], axis: [[.0,.0,.0],[.0,.0,1.0]], rotation: -20.0 ] -- about vertical
G3dRender.SetColor[ G3dRender.FindShape[context3d, "Egg2"], [1.0, 0.8, 0.5] ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "Egg2"], smooth]
G3dRender.SetShininess[ G3dRender.FindShape[context3d, "Egg2"], 150.0 ]
G3dMappedAndSolidTexture.AddMappedTexture[ context3d, "Egg1", G3dMappedAndSolidTexture.TextureFromAIS[context3d, "Texture.ais", $Intensity] ]
G3dMappedAndSolidTexture.SumAllMappedTextures[ context3d, "Egg1" ]
G3dMappedAndSolidTexture.AddMappedTexture[ context3d, "Egg2", G3dMappedAndSolidTexture.TextureFromAIS[context3d, "Texture.ais", $Bump] ]
G3dMappedAndSolidTexture.SumAllMappedTextures[ context3d, "Egg2" ]
G3dRenderWithPixelsImpl.minHilite ← 0.000001
G3dRender.StartLog[context3d]
G3dSortAndDisplayImpl.progressReportsPerFrame ← 20;   -- make progress reports
G3dColorDisplaySupport.MakeHiResFrame[ context3d, 400, 300, "TwoTexturedEggs400x300.ais" ]
G3dColorDisplaySupport.MakeHiResFrame[ context3d, 1350, 1011, "TwoTexturedEggs1350x1011.ais" ]
G3dRenderWithPixels.AntiAliasing[context3d]
MakeFrame[]
G3dColorDisplaySupport.PutAIS[context3d, "MultiTxtrdEgg.ais" ]
G3dMappedAndSolidTexture.AddMappedTexture[ context3d, "Egg2", G3dMappedAndSolidTexture.TextureFromAIS[context3d, "/CedarChest7.0/ThreeDWorld/Texture.ais", $Bump] ]
Figure 6 - color - /Saratoga/Cedar/Users/Crow.pa/3d/WurlitzerEgg*.ais
Wurlitzer Egg
Reset[]
G3dRender.SetView[context3d, [0.0, -6.0, 0.0], [0.0, 0.0, 0.0] ]
G3dRender.AddLight[context3d, "Light0", [-50.0, -400.0, 50.0], [1.0, 1.0, 1.0] ]
G3dRender.NameAmbientLight[context3d, "weakish darkish blue"]
G3dRender.AddShapeFromFile[ context3d, "Egg", "/Indigo/3dGraphics/Shapes/UtahEgg.shape"]
G3dRender.LoadShapeClass[ G3dRender.FindShape[context3d, "Egg"], $PolygonWithNormals ]
G3dRender.SetColor[ G3dRender.FindShape[context3d, "Egg"], [1.0, 1.0, 1.0] ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "Egg"], smooth]
G3dRender.SetShininess[ G3dRender.FindShape[context3d, "Egg"], 150.0 ]
G3dMappedAndSolidTexture.AddSolidTexture[context3d, "Egg", $Wurlitzer ]
G3dRenderWithPixels.AntiAliasing[context3d]
G3dRender.StartLog[context3d]
G3dSortAndDisplayImpl.progressReportsPerFrame ← 20;   -- make progress reports
context3d.class.displayType ← $FullColor
G3dColorDisplaySupport.MakeHiResFrame[ context3d, 400, 300, "WurlitzerEgg400x300.ais" ]
G3dColorDisplaySupport.MakeHiResFrame[ context3d, 1350, 1011, "WurlitzerEgg1350x1011.ais" ]
MakeFrame[]
G3dColorDisplaySupport.PutAIS[context3d, "WurlitzerEgg.ais" ]
Figure 7 - color - /Saratoga/Cedar/Users/Crow.pa/3d/ZebraBurlTeaPot*.ais
ZebraBurl teapot
InitNoDisplay[]    -- for computing remotely or otherwise blind
Reset[]
G3dRender.AddLight[context3d, "Light0", [-200.0, -200.0, 400.0], [1.0, 1.0, 1.0] ]
G3dRender.AddShapeFromFile[ context: context3d, shapeName: "TeaPot", fileName: "/Ivy/Crow/Shapes/TeaPotWithBot.shape", position: [0.0, 0.0, -1.25]]
G3dRender.SetShininess[ G3dRender.FindShape[context3d, "TeaPot"], 150.0 ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "TeaPot"], smooth ]
G3dMappedAndSolidTexture.AddSolidTexture[context3d, "TeaPot", $ZebraBurl ]
G3dRender.SetView[context3d, [-0.5, -10.0, 3.0], [0.0, 0.0, 0.0] ]  -- hides joins
G3dRenderWithPixels.AntiAliasing[context3d]
G3dRender.StartLog[context3d]
G3dSortAndDisplayImpl.progressReportsPerFrame ← 20;   -- make progress reports
G3dRender.SetViewPort[ context3d, [0.0, 0.0, 400.0, 300.0] ]
MakeFrame[]
G3dColorDisplaySupport.PutAIS[context3d, "ZebraBurlTeapot400x300.ais" ]
G3dSortAndDisplayImpl.progressReportsPerFrame ← 33;   -- make progress reports
G3dColorDisplaySupport.MakeHiResFrame[ context3d, 1350, 1011, "ZebraBurlTeapot1350x1011.ais" ]
G3dColorDisplaySupport.MakeHiResFrame[ context3d, 2000, 1500, "ZebraBurlTeapot2000x1500.ais" ]
G3dRender.LoadDisplayClass[context3d, $GrayInVM]
GetOffScreenCtx[context3d, 400, 300]
G3dSortAndDisplayImpl.progressReportsPerFrame ← 3;   -- make progress reports
G3dAnimationSupport.MakeFramesFromTo[ context: offScreenCtx, lookingFrom: [-0.6, -12.0, 3.6], lookingAt: [0.0, 0.0, 0.0], toLookingFrom: [-0.1, -2.0, 0.6], toLookingAt: [0.0, 0.0, 0.0], framesOnLine: 60, startAt: 0, endAt: 59, filename: "TeapotZoom" ]; -- zoom in on teapot
Figure 10 - grey - /Saratoga/Cedar/Users/Crow.pa/3d/PaperWeb*.ais
PaperWeb with text
Reset[]
G3dRender.AddLight[context: context3d, name: "Light0", position: [-10.0, -200.0, 200.0] ]
G3dRender.NameAmbientLight[ context3d, "Lightish Grey" ]
G3dRender.NameBackgroundColor[ context3d, "Very Dark Grey" ]
G3dRender.AddShapeFromFile[ context3d, "Web", "PaperWebReversed.shape" ]
G3dRender.SetColor[ G3dRender.FindShape[context3d, "Web"], [0.8, 1.0, 0.8] ]
G3dRender.SetRenderStyle[ G3dRender.FindShape[context3d, "Web"], smooth ]
G3dMappedAndSolidTexture.AddMappedTexture[ context3d, "Web", G3dMappedAndSolidTexture.TextureFromAIS[context3d, "/Pixel/Crow/Texture/Page-Red.ais", $Intensity] ]
G3dMappedAndSolidTexture.SumAllMappedTextures[ context3d, "Web" ]
G3dRender.SetView[context3d, [1.5, -4.5, -0.8], [0.5, 0.0, 0.9] ]
G3dRender.ShowBackfaces[G3dRender.FindShape[context3d, "Web"]]
G3dColorDisplaySupport.MakeHiResFrame[ context3d, 400, 300, "PaperWeb400x300.ais" ]
G3dColorDisplaySupport.MakeHiResFrame[ context3d, 1350, 1011, "PaperWeb1350x1011.ais" ]
G3dRenderWithPixels.AntiAliasing[context3d]
MakeFrame[]
Redo: WurlitzerEgg1350x1011, TwoTexturedEggs1350x1011
G3dColorDisplaySupport.GetAIS[context: context3d, fileRoot: "TwoTexturedEggs1350x1011.ais", xOffset: 500, yOffset: 300, center: FALSE ]
Anti-Aliasing
Figure 1a - b&w - copied from old slide (possibly easily reproduced)
Figure 1b - color - copied from old slide (could be reproduced with great difficulty)
Figure 2 - color - copied from old slide (possibly easily reproduced)
Figure 3 - color - copied from old slide (could be reproduced with difficulty)
Figure 4 - b&w - 9 sub figures copied from old paper (possibly easily reproduced)
Figure 5 - b&w - copied from old slides (hard to reproduce)
Figure 6 - b&w - copied from old slides (hard to reproduce)
Figure 7 - b&w - copied from old paper (possibly easily reproduced)
Figure 8 - color - copied from old slide (possibly easily reproduced)
Figure 9 - color - copied from old slide (possibly easily reproduced)
Figure 10a,b,c - color - copied from old slide (possibly easily reproduced)
Figure 11 - color - copied from old slide (possibly easily reproduced)
Figure 12 - color - copied from old slide (possibly easily reproduced)
Figure 13 - b&w - copied from old slide (hard to reproduce)
Figure 14 - b&w - copied from old slides (possibly easily reproduced)

TestPatterns
Figure 4 - b&w - 9 sub figures of filters applied to test pattern
GetDisplayMemory[$Grey, [152,66,320,320]]
FillDisplay["white"]
MakeCurves[256, 240]
AdjustValueRamp[.7]
MakeNilTable[]
MakeCurves[256, 240]
MakeImpulseTable[]
MakeCurves[256, 240]
G3dColorDisplaySupport.PutAIS[context3d, "TestPatImpulse.ais" ]
Make2ImpulseTable[]
MakeCurves[256, 240]
G3dColorDisplaySupport.PutAIS[context3d, "TestPatImpulse2.ais" ]
Make4ImpulseTable[]
MakeCurves[256, 240]
G3dColorDisplaySupport.PutAIS[context3d, "TestPatImpulse4.ais" ]
Make8ImpulseTable[]
MakeCurves[256, 240]
G3dColorDisplaySupport.PutAIS[context3d, "TestPatImpulse8.ais" ]
MakeWtd8ImpulseTable[]
MakeCurves[256, 240]
G3dColorDisplaySupport.PutAIS[context3d, "TestPatImpulseWtd8.ais" ]
MakeWtd16ImpulseTable[]
MakeCurves[256, 240]
G3dColorDisplaySupport.PutAIS[context3d, "TestPatImpulseWtd16.ais" ]
MakeBoxTable[]
MakeCurves[256, 240]
G3dColorDisplaySupport.PutAIS[context3d, "TestPatBox.ais" ]
MakeTriangleTable[]
MakeCurves[256, 240]
G3dColorDisplaySupport.PutAIS[context3d, "TestPatTriangle.ais" ]
MakeGaussTable[4.0]
MakeCurves[256, 240]
G3dColorDisplaySupport.PutAIS[context3d, "TestPatGauss.ais" ]
MakeSinc2Table[]
MakeCurves[256, 240]
G3dColorDisplaySupport.PutAIS[context3d, "TestPatSinc2.ais" ]
MakeSinc4Table[]
MakeCurves[256, 240]
G3dColorDisplaySupport.PutAIS[context3d, "TestPatSinc4.ais" ]