&sgf[ThreeDDemoImpl] ViewerLocksImpl.debugging _ TRUE -- allows breakpoints in paint procs 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" ] 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]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]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]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]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]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" ] 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 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] ] 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" ] 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 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[] G3dColorDisplaySupport.GetAIS[context: context3d, fileRoot: "TwoTexturedEggs1350x1011.ais", xOffset: 500, yOffset: 300, center: FALSE ] 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" ] " TextureFigures.cm Crow, December 8, 1989 4:46:57 pm PST 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 Figure 2 - color - /Saratoga/Cedar/Users/Crow.pa/3d/Lamming7Scene*.ais Lamming Illustration Figure 3 - color - /Saratoga/Cedar/Users/Crow.pa/3d/MultiTxtrdEgg*.ais Multitextured Egg Figure 4 - grey - /Saratoga/Cedar/Users/Crow.pa/3d/TwoTexturedEggs*.ais Two eggs - one intensity mapped, one bump mapped, same texture Figure 6 - color - /Saratoga/Cedar/Users/Crow.pa/3d/WurlitzerEgg*.ais Figure 7 - color - /Saratoga/Cedar/Users/Crow.pa/3d/ZebraBurlTeaPot*.ais ZebraBurl teapot Figure 10 - grey - /Saratoga/Cedar/Users/Crow.pa/3d/PaperWeb*.ais PaperWeb with text Redo: WurlitzerEgg1350x1011, TwoTexturedEggs1350x1011 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 Ê ™™Icode™%—J˜JšœÏkœÏc%˜JJšœå™åJšœD™DšÏb"™"K™"Jšœ˜JšœT˜TJšœF˜FJšœ|˜|Idefaultšœ^˜^JšœV˜VJšœT˜TJšœP˜PJšœR˜RJšœƒž˜”JšœX˜XJšœ]˜]LšœY˜YJšœž˜³JšœN˜NJšœM˜MJšœI˜IJšœ@˜@JšœuÏf"œ˜«JšœE˜EJšœ{˜{JšœZ˜ZLšœY˜YJšœu˜uJšœM˜MJšœM˜MJšœ_˜_Jšœ§˜§JšœO˜OJšœO˜OJšœ_˜_Jšœ™˜™JšœQ˜QJšœN˜NJšœK˜KJšœz˜zJšœS˜SJšœh˜hJšœªž%˜ÏJšœT˜TJšœ,˜,Jšœ˜Jšœ6ž˜NJšœV˜VJšœZ˜ZJšœ[˜[Jšœ ˜ Jšœ0˜0J˜—JšœF™FšŸ™Jšœž-˜@Jšœ˜JšœH˜HJšœE˜EJšœA˜AJ˜Jšœl˜lLšœ^˜^JšœV˜VJšœT˜TJšœP˜PJšœR˜RJšœ¢ž˜´Jšœn˜nLšœ_˜_Jšœ·ž"˜ÙJšœ]˜]JšœX˜XJšœZ˜ZJšœU˜UJšœ|ž$˜ Jšœ«œž˜ÅJšœM˜MJšœH˜HJšœJ˜JJšœr œ;˜®JšœC˜CJšœV˜VJšœ}ž$˜¡Jšœ«œž˜ÅJšœN˜NJšœI˜IJšœK˜KJšœs œ;˜¯JšœD˜DJšœV˜VJšœ}ž1˜®Jšœ¬œž˜ÆJšœN˜NJšœI˜IJšœK˜KJšœ˜Jšœ^˜^LšœZ˜ZJšœ~ž˜–Jšœ¥œž˜ÂJšœN˜NJšœM˜MJšœI˜IJšœ@˜@JšœH˜HJšœNž ˜XJšœ^˜^LšœX˜XJšœ†ž ˜Jšœ£ž˜¹JšœV˜VJšœQ˜QJšœT˜TJšœ\˜\LšœY˜YJšœ§ž˜½JšœO˜OJšœM˜MJšœ\˜\LšœW˜WJšœ­ž˜ÀJšœU˜UJšœP˜PJšœS˜SJšœ`˜`Jšœ|ž˜‘Jšœ®œž˜ÈJšœO˜OJšœL˜LJšœI˜IJšœt œ  œ œ˜œJšœD˜DJšœ¶˜¶JšœG˜GJšœj˜jLšœS˜SJšœQ˜QJšœN˜NJšœ.˜.Jšœ+˜+Jšœ ˜ Jšœ@˜@Jšœ˜Jšœ6ž˜NJšœX˜XJšœ\˜\Jšœ]˜]JšœT˜TJšœ\˜\JšœH˜HJšœN˜NJšœ>˜>JšœA˜AJšœG˜GJšœ@˜@JšœF˜FJšœ@˜@J˜JšœF˜FJšœL˜LJšœ<˜˜>JšœE˜EJšœ>˜>Jšœ>˜>J˜J˜—JšœF™FšŸ™Jšœž˜.J˜-J˜Jšœp˜pJšœq˜qJšœ=˜=Jšœi˜iLšœV˜VJšœxž˜JšœL˜LJšœH˜HJšœF˜FJšœA˜AJšœ=˜=Jšœv˜vJšœq "œ˜§JšœA˜AJšœH˜HJšœJ˜JJšœ+˜+J˜Jšœ˜Jšœ6ž˜NJšœ=  œ˜XJšœ?  œ˜]Jšœ ˜ Jšœ*  œ˜?Jšœ)˜)—JšœG™GšŸ>™>Jšœ?˜?Jšœ1˜1Jšœ˜Jšœ@˜@JšœP˜PJšœ>˜>JšœY˜YLšœW˜WJšœ–ž˜§JšœM˜MJšœI˜IJšœG˜GJšœx˜xJšœY˜YLšœW˜WJšœ—ž˜¨JšœM˜MJšœI˜IJšœH˜HJšœr œ˜JšœC˜CJšœr œ˜ˆJšœB˜BJ˜Jšœ,˜,Jšœ˜Jšœ6ž˜NJšœ= œ˜ZJšœ? œ˜_Jšœ+˜+Jšœ ˜ Jšœ*  œ˜?Jšœr "œ˜£J˜—JšœE™EšŸ ˜ Jšœ˜Jšœ@˜@JšœP˜PJšœ>˜>JšœX˜XLšœV˜VJšœL˜LJšœH˜HJšœF˜FJšœG˜GJšœ+˜+J˜Jšœ˜Jšœ6ž˜NJšœ(˜(Jšœ=  œ˜WJšœ?  œ˜\Jšœ ˜ Jšœ*  œ˜=J˜—JšœH™HšŸ™Jšœž,œ˜@Jšœ˜JšœR˜RJšœ“˜“JšœI˜IJšœL˜LJšœJ˜JJšœDžœ˜SJšœ+˜+Jšœ˜Jšœ6ž˜NJšœ<˜˜>J˜J˜Jšœ>˜>J˜J˜Jšœ>˜>——…—b vX