From 8eac5582b72115969a9f915f4303535c22018033 Mon Sep 17 00:00:00 2001 From: hwc487 Date: Wed, 2 May 2012 17:00:12 -0700 Subject: Material editor --- js/lib/rdge/materials/cloud-material.js | 13 +++++++++---- js/lib/rdge/materials/linear-gradient-material.js | 4 ++++ js/lib/rdge/materials/radial-gradient-material.js | 4 ++++ 3 files changed, 17 insertions(+), 4 deletions(-) (limited to 'js/lib/rdge') diff --git a/js/lib/rdge/materials/cloud-material.js b/js/lib/rdge/materials/cloud-material.js index 0cf428b0..b7670178 100644 --- a/js/lib/rdge/materials/cloud-material.js +++ b/js/lib/rdge/materials/cloud-material.js @@ -183,7 +183,8 @@ var CloudMaterial = function CloudMaterial() if (material) { var technique = material.shaderProgram['default']; - var renderer = RDGE.globals.engine.getContext().renderer; + var saveContext = RDGE.globals.engine.getContext(); + var renderer = RDGE.globals.engine.getContext().renderer; if (renderer && technique) { var texMapName = this._propValues[this._propNames[0]]; @@ -215,6 +216,10 @@ var CloudMaterial = function CloudMaterial() } } + this.updateColor = function() + { + } + this.update = function( time ) { if (this._srcWorld) @@ -264,6 +269,7 @@ var CloudMaterial = function CloudMaterial() this.getWorld().stop(); // build a world to do the rendering + if (!GLWorld) GLWorld = require("js/lib/drawing/world").World; this._srcWorld = new GLWorld( this._srcCanvas, true, true ); var srcWorld = this._srcWorld; if (!this._srcCanvas) throw new Error( "No source canvas in Cloud material" ); @@ -273,13 +279,13 @@ var CloudMaterial = function CloudMaterial() var prim = this.buildGeometry( srcWorld, srcCanvas.width, srcCanvas.height ); // set up the shader - var shader = new jshader(); + var shader = new RDGE.jshader(); shader.def = cloudMaterialDef; shader.init(); this._srcShader = shader; // set up the material node - var materialNode = createMaterialNode("cloudMaterial" + "_" + srcWorld.generateUniqueNodeID()); + var materialNode = RDGE.createMaterialNode("cloudMaterial" + "_" + srcWorld.generateUniqueNodeID()); materialNode.setShader(shader); this._srcMaterialNode = materialNode; @@ -322,7 +328,6 @@ var CloudMaterial = function CloudMaterial() this.buildGeometry = function(world, canvasWidth, canvasHeight) { var RectangleGeometry = require("js/lib/geom/rectangle").RectangleGeometry; - RectangleGeometry.init(); // get the normalized device coordinates (NDC) for diff --git a/js/lib/rdge/materials/linear-gradient-material.js b/js/lib/rdge/materials/linear-gradient-material.js index 2d8e6ca7..586948bb 100755 --- a/js/lib/rdge/materials/linear-gradient-material.js +++ b/js/lib/rdge/materials/linear-gradient-material.js @@ -42,6 +42,7 @@ var LinearGradientMaterial = function LinearGradientMaterial() { this.setColor1 = function (c) { this._color1 = c.slice(); + this._propValues[this._propNames[0]] = this._color1.slice(0); if (this._shader && this._shader['default']) { this._shader['default'].u_color1.set(c); @@ -54,6 +55,7 @@ var LinearGradientMaterial = function LinearGradientMaterial() { this.setColor2 = function (c) { this._color2 = c.slice(); + this._propValues[this._propNames[1]] = this._color2.slice(0); if (this._shader && this._shader['default']) { this._shader['default'].u_color2.set(c); @@ -66,6 +68,7 @@ var LinearGradientMaterial = function LinearGradientMaterial() { this.setColor3 = function (c) { this._color3 = c.slice(); + this._propValues[this._propNames[2]] = this._color3.slice(0); if (this._shader && this._shader['default']) { this._shader['default'].u_color3.set(c); @@ -78,6 +81,7 @@ var LinearGradientMaterial = function LinearGradientMaterial() { this.setColor4 = function (c) { this._color4 = c.slice(); + this._propValues[this._propNames[3]] = this._color4.slice(0); if (this._shader && this._shader['default']) { this._shader['default'].u_color4.set(c); diff --git a/js/lib/rdge/materials/radial-gradient-material.js b/js/lib/rdge/materials/radial-gradient-material.js index dd40d31d..65679429 100755 --- a/js/lib/rdge/materials/radial-gradient-material.js +++ b/js/lib/rdge/materials/radial-gradient-material.js @@ -41,6 +41,7 @@ var RadialGradientMaterial = function RadialGradientMaterial() { this.setColor1 = function (c) { this._color1 = c.slice(); + this._propValues[this._propNames[0]] = this._color1.slice(0); if (this._shader && this._shader['default']) { this._shader['default'].u_color1.set(c); } @@ -52,6 +53,7 @@ var RadialGradientMaterial = function RadialGradientMaterial() { this.setColor2 = function (c) { this._color2 = c.slice(); + this._propValues[this._propNames[1]] = this._color2.slice(0); if (this._shader && this._shader['default']) { this._shader['default'].u_color2.set(c); } @@ -64,6 +66,7 @@ var RadialGradientMaterial = function RadialGradientMaterial() { this.setColor3 = function (c) { this._color3 = c.slice(); + this._propValues[this._propNames[2]] = this._color3.slice(0); if (this._shader && this._shader['default']) { this._shader['default'].u_color3.set(c); } @@ -75,6 +78,7 @@ var RadialGradientMaterial = function RadialGradientMaterial() { this.setColor4 = function (c) { this._color4 = c.slice(); + this._propValues[this._propNames[3]] = this._color4.slice(0); if (this._shader && this._shader['default']) { this._shader['default'].u_color4.set(c); } -- cgit v1.2.3