Thank you Rob,
now it works.

Cheers,
ConteZero


On Oct 11, 6:21 pm, Rob Bateman <[email protected]> wrote:
> Hey ConteZero
>
> sorting bug should now be fixed in the svn, along with the crash bug (that
> was previously mentioned in another mail). please update your source and let
> us know if that fixes the problem!
>
> cheers
>
> Rob
>
>
>
> On Sun, Oct 11, 2009 at 9:10 AM, ConteZero <[email protected]> wrote:
>
> > I've updated Away3d Lite to svn revision r1941 (quad support is
> > fantastic), but I've found a sorting problem.
> > If you mix on the same scene a primitive based on quad (cube6) with a
> > triangle based primitive (cone), sorting is wrong, quad primitive is
> > always rendered in front of the other primitive.
> > I've modified the Basic_SceneSetup file to show the problem.
> > I've also found a crash bug (not present in old revisions), to avoid
> > crash I've added a render() call after primitive creation.
>
> > package
> > {
> >        import away3dlite.cameras.*;
> >        import away3dlite.containers.*;
> >        import away3dlite.materials.*;
> >        import away3dlite.primitives.*;
>
> >        import net.hires.debug.Stats;
>
> >        import flash.display.*;
> >        import flash.events.*;
>
> >        [SWF(backgroundColor="#000000", frameRate="60", quality="MEDIUM",
> > width="800", height="600")]
>
> >        public class Basic_SceneSetup extends Sprite
> >        {
> >        //signature swf
> >        [Embed(source="assets/signature_lite.swf", symbol="Signature")]
> >        public static var SignatureSwf:Class;
>
> >                //engine variables
> >                private var scene:Scene3D;
> >                private var camera:Camera3D;
> >                private var view:View3D;
>
> >                //signature variables
> >                private var Signature:Sprite;
> >                private var SignatureBitmap:Bitmap;
>
> >                //material objects
> >                private var material:ColorMaterial;
>
> >                //scene objects
> >                private var plane:Plane;
> >                private var cone:Cone;
> >                private var cube:Cube6;
>
> >                /**
> >                 * Constructor
> >                 */
> >                public function Basic_SceneSetup()
> >                {
> >                        init();
> >                }
>
> >                /**
> >                 * Global initialise function
> >                 */
> >                private function init():void
> >                {
> >                        initEngine();
> >                        initMaterials();
> >                        initObjects();
> >                        initListeners();
> >                }
>
> >                /**
> >                 * Initialise the engine
> >                 */
> >                private function initEngine():void
> >                {
> >                        scene = new Scene3D();
>
> >                        //camera = new Camera3D({z:-1000});
> >                        camera = new Camera3D();
> >                        camera.z = -2000;
>
> >                        //view = new View3D({scene:scene, camera:camera});
> >                        view = new View3D();
> >                        view.scene = scene;
> >                        view.camera = camera;
> >                        view.camera.x = 300;
>
> >                        //view.addSourceURL("srcview/index.html");
> >                        addChild(view);
>
> >                        //add signature
> >            Signature = Sprite(new SignatureSwf());
> >            SignatureBitmap = new Bitmap(new BitmapData
> > (Signature.width, Signature.height, true, 0));
> >            stage.quality = StageQuality.HIGH;
> >            SignatureBitmap.bitmapData.draw(Signature);
> >            stage.quality = StageQuality.MEDIUM;
> >            addChild(SignatureBitmap);
>
> >            addChild(new Stats());
> >                }
>
> >                /**
> >                 * Initialise the materials
> >                 */
> >                private function initMaterials():void
> >                {
> >                        material = new ColorMaterial(0xCC0000);
> >                }
>
> >                /**
> >                 * Initialise the scene objects
> >                 */
> >                private function initObjects():void
> >                {
> >                        //plane = new Plane({material:material, width:500,
> > height:500,
> > yUp:false, bothsides:true});
> >                        plane = new Plane();
> >                        plane.material = material;
> >                        plane.width = 500;
> >                        plane.height = 500;
> >                        plane.yUp = false;
> >                        plane.bothsides = true;
> >                        plane.z = 600;
> > //                      scene.addChild(plane);
> > cone = new Cone();
> > cone.height = 200;
> > cone.radius = 100;
> > cone.z = -200;
> >          scene.addChild(cone);
> > // view.render();
> > cube = new Cube6();
> > cube.width = 200;
> > cube.height = 200;
> > cube.depth = 200;
> > cube.z = 200;
> >          scene.addChild(cube);
> > view.render();//added to avoid player crash
> >                }
>
> >                /**
> >                 * Initialise the listeners
> >                 */
> >                private function initListeners():void
> >                {
> >                        addEventListener(Event.ENTER_FRAME, onEnterFrame);
> >                        stage.addEventListener(Event.RESIZE, onResize);
> >                        onResize();
> >                }
>
> >                /**
> >                 * Navigation and render loop
> >                 */
> >                private function onEnterFrame( e:Event ):void
> >                {
> > //                      plane.rotationY += 2;
>
> >                        view.render();
> >                }
>
> >                /**
> >                 * stage listener for resize events
> >                 */
> >                private function onResize(event:Event = null):void
> >                {
> >                        view.x = stage.stageWidth / 2;
> >            view.y = stage.stageHeight / 2;
> >            SignatureBitmap.y = stage.stageHeight - Signature.height;
> >                }
> >        }
> > }
>
> --
> Rob Bateman
> Flash Development & Consultancy
>
> [email protected]

Reply via email to