/** * ... * @author Default * @version 0.1 */ package src { import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.display.StageQuality; import flash.display.MovieClip; import flash.events.Event; import flash.events.MouseEvent; import org.papervision3d.materials.ColorMaterial; import org.papervision3d.view.BasicView; import org.papervision3d.cameras.FreeCamera3D; import org.papervision3d.objects.primitives.Sphere; import org.papervision3d.materials.shadematerials.EnvMapMaterial; import org.papervision3d.materials.shaders.EnvMapShader; import org.papervision3d.materials.shaders.ShadedMaterial; import org.papervision3d.materials.MovieAssetMaterial; import org.papervision3d.materials.shaders.PhongShader; import org.papervision3d.lights.PointLight3D; public class myEnvironmentalShader extends Sprite { var noBump:Boolean; var view:BasicView; var camera2:FreeCamera3D; var ballA:Sphere; var ballB:Sphere; var cameraList:Array; var activeCamera:FreeCamera3D; var pointLight:PointLight3D; var ballMat:MovieAssetMaterial; var ballABump:MovieAssetMaterial; var ballBBump: MovieAssetMaterial; var ballAShader:PhongShader; var ballBShader:PhongShader; var ballAShadeMat:ShadedMaterial; var ballBShadeMat:ShadedMaterial; public function myEnvironmentalShader() { stage.quality = StageQuality.HIGH; stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; noBump=true; view = new BasicView(0, 0, true, false); addChild(view); pointLight = new PointLight3D(); pointLight.x = 0; pointLight.y = 0; pointLight.z = -300; view.camera.x = 0; view.camera.y = 0; view.camera.z = -400; view.camera.focus = 500; view.camera.zoom = 1; ballMat = new MovieAssetMaterial("tennisMat"); ballMat.smooth = true; ballABump = new MovieAssetMaterial("tennisBump"); ballAShader = new PhongShader(pointLight, 0x145A22, 0x4AD766, 20, ballABump.bitmap, ballMat.bitmap); ballAShadeMat = new ShadedMaterial(ballMat, ballAShader); ballBBump = new MovieAssetMaterial("flatBump"); ballBShader = new PhongShader(pointLight, 0x145A22, 0x4AD766, 20, ballBBump.bitmap, ballMat.bitmap); ballBShadeMat = new ShadedMaterial(ballMat, ballBShader); ballAShadeMat.interactive = true; // add to sphere ballA = new Sphere(ballAShadeMat, 150, 25, 25); ballA.moveRight(230); ballB = new Sphere(ballBShadeMat, 150, 25, 25); ballB.moveLeft(230); view.scene.addChild(ballA); view.scene.addChild(ballB); ballA.yaw(40); ballB.yaw(40); view.singleRender(); } } }