[Papervision3D] To use multiple viewports, or not..?

Rob Hedges register at physonius.net
Mon Aug 11 10:01:33 PDT 2008


I have two cubes assigned to one viewport.  One cube has a straight view
matching the center of the viewport coordinates, and the second cube does
not have a straight view as it is just left-of-center.  If I wish to have
both cubes with straight views I currently use two viewports.  

So is using two viewports the best way to show two objects that have a
straight view, or is there some other technique that might be better?

Thanks




package {
	import flash.display.MovieClip;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.display.DisplayObjectContainer;
	import flash.text.TextField;
  	import flash.text.TextFormat;
	
	import org.papervision3d.view.Viewport3D;
	import org.papervision3d.scenes.Scene3D;
	import org.papervision3d.cameras.Camera3D;
	import org.papervision3d.materials.ColorMaterial;
	import org.papervision3d.objects.primitives.*;
	import org.papervision3d.render.BasicRenderEngine;
	import org.papervision3d.materials.utils.MaterialsList;
	
	public class TwoSquareEngine extends Sprite
	{
		private var viewport:				Viewport3D;
		private var viewport2:				Viewport3D;
		private var scene:					Scene3D;
		private var scene2:					Scene3D;
		private var camera:					Camera3D;
		private var renderer:				BasicRenderEngine;
		private var cube:					Cube;
		private var cube2:					Cube;
		private var materialsList: 			MaterialsList;
		private var material1: 				ColorMaterial;
		private var material2: 				ColorMaterial;
		private var material3: 				ColorMaterial;
		private var material4: 				ColorMaterial;
		private var material5: 				ColorMaterial;
		private var material6: 				ColorMaterial;
		public function TwoSquareEngine():void {
			// create a material
			viewport = new Viewport3D(550, 400, false, false);
			viewport.x = 100;
			addChild(viewport);
			viewport2 = new Viewport3D(550, 400, false, false);
			viewport2.x = -100;
			addChild(viewport2);
			scene = new Scene3D();
			scene2 = new Scene3D();
			camera = new Camera3D();
			renderer = new BasicRenderEngine();
			material1 = new ColorMaterial();
			material2 = new ColorMaterial();
			material3 = new ColorMaterial();
			material4 = new ColorMaterial();
			material5 = new ColorMaterial();
			material6 = new ColorMaterial();
			
			material1.fillColor = 0x1CB038;
			material2.fillColor = 0xED2F1B;
			material3.fillColor = 0x5715F2;
			material4.fillColor = 0xE225E2;
			material5.fillColor = 0xDDF215;
			material6.fillColor = 0x55B3A9;
			
			materialsList = new MaterialsList();
			materialsList.addMaterial(material1,"top");
			materialsList.addMaterial(material2,"bottom");
			materialsList.addMaterial(material3,"front");
			materialsList.addMaterial(material4,"back");
			materialsList.addMaterial(material5,"left");
			materialsList.addMaterial(material6,"right");

			cube = new Cube(materialsList, 200, 200, 200, 1, 1, 1);
			cube2 = new Cube(materialsList, 200, 200, 200, 1, 1, 1);
			
			cube.x = -250;
			cube2.x = 0;
			
			scene.addChild(cube);
			scene.addChild(cube2);
			
			//set up enterFrame event
			addEventListener(Event.ENTER_FRAME, onEnterFrame);
		}
		//define enterFrame Method, render the PV3D Scene and animate the
primitive
		function onEnterFrame(e:Event):void
		{
			cube.rotationX += 2;
			cube2.rotationX += 2;
			renderer.renderScene(scene, camera, viewport);
			//renderer.renderScene(scene2, camera, viewport2);
		}
	}
}
-- 
View this message in context: http://www.nabble.com/To-use-multiple-viewports%2C-or-not..--tp18929779p18929779.html
Sent from the Papervision3D mailing list archive at Nabble.com.




More information about the Papervision3D mailing list