Esto me trae de cabeza!
No logro aplicar el shader a las caras de mi cubo.
El material de las caras es un bitmap.
Esto es lo que hago
Código :
function imageLoaded (e : Event ) : void {
var plane:Cube = null;//son cubos pero se ven como planos porque tienen poca profundidad
//Me di cuenta que si queria una sombra especial mi plano debia ser un cubo.
var loadedBmp : Bitmap = e.target.content as Bitmap;
var bmp : BitmapData = loadedBmp.bitmapData;
var planeMaterial:BitmapMaterial;
var bmpWithReflection:BitmapData = new BitmapData(bmp.width, bmp.height*2, false, 0);
planeMaterial = new BitmapMaterial(bmpWithReflection);
planeMaterial.smooth=true;
var s:Shader = new GouraudShader(thelight, 0xFF3300, 0x222222);
var myMaterial = new ShadedMaterial(planeMaterial, s, 0);
var matList : MaterialsList = new MaterialsList;
colorMaterial = new ColorMaterial(0xffffff);
matList.addMaterial(myMaterial, "front");
matList.addMaterial(myMaterial, "back");
matList.addMaterial(myMaterial, "left");
matList.addMaterial(myMaterial, "right");
matList.addMaterial(myMaterial, "top");
matList.addMaterial(myMaterial, "bottom");
El error que me lanza es
TypeError: Error #1009: No se puede acceder a una propiedad o a un método de una referencia a un objeto nulo.
at org.papervision3d.materials.shaders::ShadedMaterial/drawTriangle()
at org.papervision3d.core.render.command::RenderTriangle/render()
at org.papervision3d.render::BasicRenderEngine/org.papervision3d.render:BasicRenderEngine::doRender()
at org.papervision3d.render::BasicRenderEngine/renderScene()
at Portafolio/::loop3D()
