// Hello Papervision3D! // http://code.google.com/p/papervision3d/downloads/list // http://papervision3d.googlecode.com/files/Examples_Basics_1_HelloWorld.zip package { import flash.display.MovieClip; public class Main extends MovieClip { protected var helloWorld:HelloWorld; public function Main() { stage.frameRate = 25; helloWorld = new HelloWorld(); addChild(helloWorld); } } } import flash.display.BitmapData; import flash.events.Event; import org.papervision3d.materials.BitmapMaterial; import org.papervision3d.objects.primitives.Sphere; import org.papervision3d.view.BasicView; /** * @author Ralph Hauwert */ class HelloWorld extends BasicView { protected var world:Sphere; protected var worldBitmapData:BitmapData; protected var worldMaterial:BitmapMaterial; /** * HelloWorld * * HelloWorld extends BasicView, which is an utility class for Papervision3D, which automatically sets up * Scene, Camera, Renderer and Viewport for you. * * This allows for easy Papervision3D initialization. * * This HelloWorld example utilizes BasicView to set up the the basics, and then extends upon it and setup a basic primitive and material. */ public function HelloWorld() { /** * Call the BasicView constructor. * Width and Height are set to 1, since scaleToStage is set to true, these will be overriden. * We will not use interactivity and keep the default cameraType. */ super(1, 1, true, false); //Color the background of this basicview / helloworld instance black. opaqueBackground = 0; //Create the materials and primitives. initScene(); //Call the native startRendering function, to render every frame. startRendering(); } /** * initScene will create the needed primitives, and materials. */ protected function initScene():void { //Create a new bitmapdata to be used as a texture for our world. worldBitmapData = new BitmapData(512,256,false,0); //Use perlin noise to colorize the texture....for examples sake. worldBitmapData.perlinNoise(512,256,4, 123456, true,false); //Create a material to be used by the sphere primitive. //The Material will utilize the bitmapData we just created as a texture. worldMaterial = new BitmapMaterial(worldBitmapData); //Create the world primitive, using the native Sphere primitive. world = new Sphere(worldMaterial,300, 10,10); //Add the world to the scene, which is already instanciated by the super BasicView. scene.addChild(world); } /** * onRenderTick(); * * onRenderTick can be overriden so you can execute code on a per render basis, using basicview. * in this case we use it to */ override protected function onRenderTick(event:Event=null):void { //Rotate the world Sphere primitive. world.yaw(1); //Call the super.onRenderTick function, which renders the scene to the viewport using the renderer and camera classes. super.onRenderTick(event); } } Hello Papervision3D!