forked from: flash on 2013-1-13

by ohisama forked from flash on 2013-1-13 (diff: 1)
import org.papervision3d.view.stats.StatsView;
♥0 | Line 62 | Modified 2013-02-18 22:19:08 | MIT License
play

ActionScript3 source code

/**
 * Copyright ohisama ( http://wonderfl.net/user/ohisama )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/9Hel
 */

// forked from ohisama's flash on 2013-1-13
package
{
    import flash.events.Event;
    import org.papervision3d.view.*;
    import org.papervision3d.materials.shadematerials.FlatShadeMaterial;
    import org.papervision3d.lights.*;
    //import org.papervision3d.view.stats.StatsView;
    public class test0 extends BasicView
    {
        private var light : PointLight3D;
        private var c : Tri;
        public function test0()
        {
            light = new PointLight3D();
            light.x = -200;
            light.y = -200;
            light.z = -200;
            _camera.zoom = 100;
            c = new Tri(new FlatShadeMaterial(light, 0xffff99, 0xff9900));
            scene.addChild(c);
            //var sv : StatsView = new StatsView(renderer);
            //addChild(sv);
            addEventListener(Event.ENTER_FRAME, enterFrameHandler);
            startRendering();
        }
        private function enterFrameHandler(event : Event) : void
        {
            c.rotationY += 0.5;
            c.rotationZ += 0.5;
        }
    }
}
import org.papervision3d.core.geom.TriangleMesh3D;
import org.papervision3d.core.geom.renderables.Triangle3D;
import org.papervision3d.core.geom.renderables.Vertex3D;
import org.papervision3d.core.proto.MaterialObject3D;
import org.papervision3d.materials.shadematerials.FlatShadeMaterial;
import org.papervision3d.core.math.NumberUV;
class Tri extends TriangleMesh3D
{
    public function Tri(tMaterial : MaterialObject3D = null)
    {
        super(tMaterial, new Array(), new Array(), null);
        var v0: Vertex3D = new Vertex3D(-100, -100,  100);
        var v1: Vertex3D = new Vertex3D( 100, -100,  100);
        var v2: Vertex3D = new Vertex3D(   0,  100,    0);
        var v3: Vertex3D = new Vertex3D(-100, -100, -100);
        var v4: Vertex3D = new Vertex3D( 100, -100, -100);
        this.geometry.vertices.push(v0);
        this.geometry.vertices.push(v1);
        this.geometry.vertices.push(v2);
        this.geometry.vertices.push(v3);
        this.geometry.vertices.push(v4);
        var uvA : NumberUV = new NumberUV(0, 0);
        var uvC : NumberUV = new NumberUV(1, 0);
        var uvB : NumberUV = new NumberUV(0, 1);
        this.geometry.faces.push(new Triangle3D(this, new Array(v2, v1, v0), null, new Array(uvA, uvC, uvB)));
        this.geometry.faces.push(new Triangle3D(this, new Array(v2, v3, v4), null, new Array(uvA, uvC, uvB)));
        this.geometry.faces.push(new Triangle3D(this, new Array(v2, v0, v3), null, new Array(uvA, uvC, uvB)));
        this.geometry.faces.push(new Triangle3D(this, new Array(v2, v4, v1), null, new Array(uvA, uvC, uvB)));
        this.geometry.faces.push(new Triangle3D(this, new Array(v1, v3, v0), null, new Array(uvA, uvC, uvB)));
        this.geometry.faces.push(new Triangle3D(this, new Array(v1, v4, v3), null, new Array(uvA, uvC, uvB)));
        this.geometry.ready = true;
    }
}