Title: CompositeMaterial example
Simple example using BasicView - revision 702
Actionscript:
-
/**
-
* v0.1 code by dehash.com 2008
-
* Released as open source under the BSD License
-
* http://www.opensource.org/licenses/bsd-license.php
-
*/
-
package com.dehash.pv3d.examples.materials {
-
import org.papervision3d.materials.special.CompositeMaterial;
-
import org.papervision3d.materials.WireframeMaterial;
-
import org.papervision3d.materials.ColorMaterial;
-
import org.papervision3d.objects.DisplayObject3D;
-
import org.papervision3d.objects.primitives.Sphere;
-
import org.papervision3d.view.BasicView;
-
import flash.events.Event;
-
-
[SWF(width="800", height="600", backgroundColor="0x000000")]
-
-
public class CompositeMaterialDemo extends BasicView {
-
-
private var do3d:DisplayObject3D;
-
-
public function CompositeMaterialDemo(viewportWidth:Number = 800, viewportHeight:Number = 600,
-
scaleToStage:Boolean=true, interactive:Boolean=true, cameraType:String="CAMERA3D")
-
{
-
-
super(viewportWidth, viewportHeight, scaleToStage, interactive, cameraType);
-
-
do3d = new DisplayObject3D();
-
-
var compositeMaterial:CompositeMaterial = new CompositeMaterial();
-
compositeMaterial.addMaterial(new WireframeMaterial(0xCCCCFF));
-
compositeMaterial.addMaterial(new ColorMaterial(0xCCCCFF, 0.7));
-
-
for(var i:uint = 0; i <5;i++){
-
var sphere:Sphere = new Sphere(compositeMaterial, 100, 12, 8);
-
sphere.x = (Math.random()*800) - 400;
-
sphere.y = (Math.random()*800) - 400;
-
sphere.z = (Math.random()*800) - 400;
-
do3d.addChild(sphere);
-
}
-
-
scene.addChild(do3d);
-
camera.target = do3d;
-
renderer.renderScene(scene, camera, viewport);
-
this.startRendering();
-
}
-
-
protected override function onRenderTick(event:Event = null):void {
-
camera.x -= (camera.x - Math.sin(mouseX*0.01)*1000) /8;
-
camera.z -= (camera.z - Math.cos(mouseX*0.01)*1000) /8;
-
camera.y -= (camera.y - viewport.containerSprite.mouseY * 5) /8;
-
renderer.renderScene(scene, camera, viewport)
-
}
-
-
}
-
}