Forked from: mtok's Sample of FlatShadeMaterial diff:17 forked from: Sample of FlatShadeMaterial ... @author ... ketz forked:0favorite:0lines:75license : All rights reserved modified : 2010-01-21 00:19:44 Embed Tweet // forked from mtok's Sample of FlatShadeMaterial package { import flash.display.Sprite; import flash.events.Event; import flash.display.StageAlign; import flash.display.StageScaleMode; import org.papervision3d.core.view.IView; import org.papervision3d.core.geom.renderables.Vertex3D; /** * ... * @author ... */ public class Pv3d004 extends Sprite { private var _view:CustomView; public function Pv3d004() { addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler); } private function addedToStageHandler(e:Event):void { stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; stage.frameRate = 30; _view = new CustomView(); addChild(_view); } } } import flash.events.Event; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.text.TextFormat; import org.papervision3d.view.BasicView; import org.papervision3d.objects.primitives.Plane; import org.papervision3d.materials.utils.MaterialsList; import org.papervision3d.materials.special.CompositeMaterial; import org.papervision3d.materials.shadematerials.FlatShadeMaterial; import org.papervision3d.materials.WireframeMaterial; import org.papervision3d.lights.PointLight3D; import org.papervision3d.core.proto.MaterialObject3D; internal class CustomView extends BasicView { private var tf:TextField; private var cube:Plane; public function CustomView() { super(0, 0, true, true); buildScene(); startRendering(); addEventListener(Event.ENTER_FRAME, enterFrameHandler); } private function enterFrameHandler(e:Event):void { cube.rotationX += 1; cube.rotationY += 1; cube.rotationZ += 1; } protected function buildScene():void { var cmat:CompositeMaterial = new CompositeMaterial(); var ml:MaterialsList = new MaterialsList(); var pointLight:PointLight3D; pointLight = new PointLight3D(true); pointLight.z = -800; pointLight.y = 300; pointLight.x = 300; var flatmat:FlatShadeMaterial; flatmat = new FlatShadeMaterial(pointLight,0xcccccc, 0x000000, 0); cube = new Plane(flatmat, 300, 300, 5, 5); scene.addChild(cube, "cube"); var vs:Array = cube.geometry.vertices; var vc:int = vs.length; for (var i:int = 0; i < vc;i++) { var v = vs[i].z = -100 + Math.random() * 200; } camera.x = 0; camera.y = 0; camera.z = -400; } } Code Fullscreen Preview Fullscreen rotationX startRendering rotationZ rotationY StageScaleMode.NO_SCALE align Event.ADDED_TO_STAGE Event length Event.ENTER_FRAME Array Math.random int