package {
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import org.papervision3d.cameras.Camera3D;
import org.papervision3d.lights.PointLight3D;
import org.papervision3d.materials.ColorMaterial;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.objects.primitives.Cube;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.render.BasicRenderEngine;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.view.Viewport3D;
public class Symbol3d extends Sprite
{
private var renderer:BasicRenderEngine
private var scene:Scene3D;
private var camera:Camera3D;
private var viewport:Viewport3D;
public function Symbol3d()
{
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
renderer = new BasicRenderEngine();
scene = new Scene3D();
camera = new Camera3D();
viewport = new Viewport3D(0, 0, true, false);
addChild(viewport);
camera.z = -400;
camera.focus = 1100;
camera.zoom = 1;
var cube:Cube =new Cube(new MaterialsList({all:new ColorMaterial(0xff0000)}),200,200,200,1,1,1);
cube.y = 200;
scene.addChild(cube);
var plane:Plane = new Plane(new ColorMaterial(0xffffff),500,500,10,10);
plane.pitch(90);
scene.addChild(plane);
stage.addEventListener(Event.ENTER_FRAME, handleEnterFrame);
}
private function handleEnterFrame(e:Event):void
{
camera.x=camera.y=camera.z=0;
camera.yaw(.5);
camera.moveBackward(1000);
camera.moveUp(200);
renderer.renderScene(scene, camera, viewport);
}
}
}