From 00cd98e49c959906d7c44bb6adcdef1f3d5148ae Mon Sep 17 00:00:00 2001 From: hwc487 Date: Thu, 22 Mar 2012 13:52:09 -0700 Subject: Merge branch 'master' of github.com:Motorola-Mobility/ninja-internal into Texture Conflicts: assets/shaders/plasma.frag.glsl js/helper-classes/RDGE/GLLine.js js/helper-classes/RDGE/MaterialsLibrary.js js/lib/drawing/world.js js/lib/geom/circle.js js/lib/geom/rectangle.js js/lib/rdge/materials/flat-material.js js/lib/rdge/materials/material.js js/panels/Materials/Materials.xml js/panels/Materials/materials-popup.reel/materials-popup.js js/preloader/Preloader.js --- js/lib/rdge/materials/bump-metal-material.js | 40 +++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) (limited to 'js/lib/rdge/materials/bump-metal-material.js') diff --git a/js/lib/rdge/materials/bump-metal-material.js b/js/lib/rdge/materials/bump-metal-material.js index fa6f5300..fe8a9dd5 100755 --- a/js/lib/rdge/materials/bump-metal-material.js +++ b/js/lib/rdge/materials/bump-metal-material.js @@ -6,6 +6,8 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot var MaterialParser = require("js/lib/rdge/materials/material-parser").MaterialParser; var Material = require("js/lib/rdge/materials/material").Material; +var Texture = require("js/lib/rdge/texture").Texture; + /////////////////////////////////////////////////////////////////////// // Class GLMaterial // RDGE representation of a material. @@ -18,7 +20,9 @@ var BumpMetalMaterial = function BumpMetalMaterial() { this._shaderName = "bumpMetal"; this._lightDiff = [0.3, 0.3, 0.3, 1.0]; - this._diffuseTexture = "assets/images/metal.png"; + //this._diffuseTexture = "assets/images/metal.png"; + this._diffuseTexture = "texture"; + this._diffuseWorld = null; // the world that the texture is derived from (if there is one). this._specularTexture = "assets/images/silver.png"; this._normalTexture = "assets/images/normalMap.png"; @@ -119,12 +123,46 @@ var BumpMetalMaterial = function BumpMetalMaterial() { this._materialNode = createMaterialNode( this.getShaderName() + "_" + world.generateUniqueNodeID() ); this._materialNode.setShader(this._shader); + // DEBUG CODE + this.initWorldTextures(); + // set some image maps this.updateTexture(1); this.updateTexture(2); this.updateTexture(3); }; + this.initWorldTextures = function() + { + // find the world with the given id + var viewUtils = require("js/helper-classes/3D/view-utils").ViewUtils; + var root = viewUtils.application.ninja.currentDocument.documentRoot; + this._diffuseWorld = this.findWorld( this._diffuseTexture, root ); + } + + this.findWorld = function( id, elt ) + { + if (elt.id && elt.id === id) + { + if (elt.eltModel && elt.elementModel.shapeModel && elt.elementModel.shapeModel.GLWorld) + { + var world = elt.elementModel.shapeModel.GLWorld; + return world; + } + } + + if (elt.children) + { + var nKids = elt.children.length; + for (var i=0; i