Composite Material: FlatShadeMaterial and Environmnet

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Composite Material: FlatShadeMaterial and Environmnet

stayfrosty
This post has NOT been accepted by the mailing list yet.
Hello!
I want to combine a FlatShadeMaterial and an EnvMap on a Collada Object with the CompositeMaterial but get an Error #1009 at at org.papervision3d.materials.shadematerials::EnvMap Material/drawTriangle().

What I do wrong?

Here is my code.


      package

      {

          import org.papervision3d.materials.shadematerials.CellMaterial;

          import org.papervision3d.materials.shadematerials.FlatShadeMaterial;
 
          import org.papervision3d.materials.shadematerials.GouraudMaterial;
 
          import org.papervision3d.materials.shadematerials.PhongMaterial;

          import org.papervision3d.materials.shadematerials.EnvMapMaterial;
 
          import org.papervision3d.materials.BitmapAssetMaterial;

          import org.papervision3d.materials.ColorMaterial;
 
          import org.papervision3d.materials.WireframeMaterial;
 
          import org.papervision3d.materials.special.CompositeMaterial;
 
         
 
          import org.papervision3d.materials.*;
 
          import org.papervision3d.materials.special.*;
 
          import org.papervision3d.materials.utils.*;
 
          import org.papervision3d.core.proto.MaterialObject3D;
 
          import org.papervision3d.objects.parsers.DAE;

          import org.papervision3d.lights.PointLight3D;
 
          import org.papervision3d.view.BasicView;
 
          import org.papervision3d.objects.primitives.*;
 
         
 
          import flash.events.Event;
 
          import flash.display.Sprite;
 
          import flash.display.Loader;
 
          import flash.net.URLRequest;
 
          import flash.display.BitmapData;
 
       

          public class MainShader extends BasicView
 
          {

       
 
              private var _obj:DAE
 
       
 
              public function MainShader()
 
              {
 
                  camera.z = -1000;
 
                 
 
                  var img:Loader = new Loader();
 
                  img.load( new URLRequest( "envMap.png" ));
 
                  img.contentLoaderInfo.addEventListener(Event.COMPLETE, loaddae);
 
                 
 
              }
 
             
 
              public function loaddae( e:Event )

              {
 
                  var envMap:BitmapData = e.target.content.bitmapData;
 
                 
 
                  var light = new PointLight3D(true);

                  light.z = -400;

                  light.y = 300;
 
                 

                  var environment:EnvMapMaterial = new EnvMapMaterial(light, envMap, envMap, 0x555555);
 
                  var flat:FlatShadeMaterial = new FlatShadeMaterial(light,0xa31105,0x000000,0.01);

                             

                  var wireMat:WireframeMaterial = new WireframeMaterial(0xCCCCFF);

                  var colorMat:ColorMaterial = new ColorMaterial(0x00FFCC);

                 

                  var compMat:CompositeMaterial = new CompositeMaterial();
 
                  compMat.addMaterial( flat );

                  compMat.addMaterial( environment );

                 
 
                  var matList:MaterialsList = new MaterialsList();

                  //matList.addMaterial( flat, "all" );

                  //matList.addMaterial( environment, "all" );

                  matList.addMaterial( compMat, "all" );

                 
 
                  _obj = new DAE()

                  _obj.scale = 100;
 
                  _obj.load("logo.dae", matList );

                  _obj.rotationX = -90;

                  scene.addChild( _obj );

       

                  startRendering();

              }

             
 
              override protected function onRenderTick(event:Event = null):void

              {

                  _obj.rotationY += 1

                 

       

                  super.onRenderTick(event);

              }

          }

      }




thx for any help!