[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