diff options
Diffstat (limited to 'js/helper-classes/RDGE/src/core/script/jshader.js')
-rwxr-xr-x | js/helper-classes/RDGE/src/core/script/jshader.js | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/js/helper-classes/RDGE/src/core/script/jshader.js b/js/helper-classes/RDGE/src/core/script/jshader.js index b9170857..b8cf24d4 100755 --- a/js/helper-classes/RDGE/src/core/script/jshader.js +++ b/js/helper-classes/RDGE/src/core/script/jshader.js | |||
@@ -1,24 +1,25 @@ | |||
1 | /* <copyright> | 1 | /* <copyright> |
2 | Copyright (c) 2012, Motorola Mobility, Inc | 2 | Copyright (c) 2012, Motorola Mobility LLC. |
3 | All Rights Reserved. | 3 | All Rights Reserved. |
4 | BSD License. | ||
5 | 4 | ||
6 | Redistribution and use in source and binary forms, with or without | 5 | Redistribution and use in source and binary forms, with or without |
7 | modification, are permitted provided that the following conditions are met: | 6 | modification, are permitted provided that the following conditions are met: |
8 | 7 | ||
9 | - Redistributions of source code must retain the above copyright notice, | 8 | * Redistributions of source code must retain the above copyright notice, |
10 | this list of conditions and the following disclaimer. | 9 | this list of conditions and the following disclaimer. |
11 | - Redistributions in binary form must reproduce the above copyright | 10 | |
12 | notice, this list of conditions and the following disclaimer in the | 11 | * Redistributions in binary form must reproduce the above copyright notice, |
13 | documentation and/or other materials provided with the distribution. | 12 | this list of conditions and the following disclaimer in the documentation |
14 | - Neither the name of Motorola Mobility nor the names of its contributors | 13 | and/or other materials provided with the distribution. |
15 | may be used to endorse or promote products derived from this software | 14 | |
16 | without specific prior written permission. | 15 | * Neither the name of Motorola Mobility LLC nor the names of its |
16 | contributors may be used to endorse or promote products derived from this | ||
17 | software without specific prior written permission. | ||
17 | 18 | ||
18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 20 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 21 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
21 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | 22 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE |
22 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | 23 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
23 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | 24 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
24 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | 25 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
@@ -31,7 +32,7 @@ POSSIBILITY OF SUCH DAMAGE. | |||
31 | // RDGE namespaces | 32 | // RDGE namespaces |
32 | var RDGE = RDGE || {}; | 33 | var RDGE = RDGE || {}; |
33 | 34 | ||
34 | /* | 35 | /* |
35 | this API should be familiar to anyone who has worked with HLSL effect files. | 36 | this API should be familiar to anyone who has worked with HLSL effect files. |
36 | */ | 37 | */ |
37 | 38 | ||
@@ -45,27 +46,27 @@ RDGE.bindMap['vec2'] = function(ctx, a,b) { ctx.uniform2fv(a,b); }; | |||
45 | RDGE.bindMap['vec3'] = function(ctx, a,b) { ctx.uniform3fv(a,b); }; | 46 | RDGE.bindMap['vec3'] = function(ctx, a,b) { ctx.uniform3fv(a,b); }; |
46 | RDGE.bindMap['vec4'] = function(ctx, a,b) { ctx.uniform4fv(a,b); }; | 47 | RDGE.bindMap['vec4'] = function(ctx, a,b) { ctx.uniform4fv(a,b); }; |
47 | RDGE.bindMap['mat3'] = function(ctx, a,b) { ctx.uniformMatrix3fv(a,false,b); }; | 48 | RDGE.bindMap['mat3'] = function(ctx, a,b) { ctx.uniformMatrix3fv(a,false,b); }; |
48 | RDGE.bindMap['mat4'] = function(ctx, a,b) | 49 | RDGE.bindMap['mat4'] = function(ctx, a,b) |
49 | { | 50 | { |
50 | ctx.uniformMatrix4fv(a,false,b); | 51 | ctx.uniformMatrix4fv(a,false,b); |
51 | RDGE.globals.engine.getContext().debug.mat4CallCount++; | 52 | RDGE.globals.engine.getContext().debug.mat4CallCount++; |
52 | }; | 53 | }; |
53 | 54 | ||
54 | RDGE.bindMap['tex2d'] = function(ctx, a,b) | 55 | RDGE.bindMap['tex2d'] = function(ctx, a,b) |
55 | { | 56 | { |
56 | ctx.activeTexture(ctx.TEXTURE0+b[0]); | 57 | ctx.activeTexture(ctx.TEXTURE0+b[0]); |
57 | ctx.bindTexture(ctx.TEXTURE_2D, b[1]); | 58 | ctx.bindTexture(ctx.TEXTURE_2D, b[1]); |
58 | ctx.uniform1iv(a,[b[0]]); | 59 | ctx.uniform1iv(a,[b[0]]); |
59 | }; | 60 | }; |
60 | 61 | ||
61 | RDGE.bindMap['texCube']=function(ctx, a,b) | 62 | RDGE.bindMap['texCube']=function(ctx, a,b) |
62 | { | 63 | { |
63 | ctx.activeTexture(ctx.TEXTURE0+b[0]); | 64 | ctx.activeTexture(ctx.TEXTURE0+b[0]); |
64 | ctx.bindTexture(ctx.TEXTURE_CUBE_MAP, b[1]); | 65 | ctx.bindTexture(ctx.TEXTURE_CUBE_MAP, b[1]); |
65 | ctx.uniform1iv(a,[b[0]]); | 66 | ctx.uniform1iv(a,[b[0]]); |
66 | }; | 67 | }; |
67 | 68 | ||
68 | RDGE.lightDataMap = | 69 | RDGE.lightDataMap = |
69 | [ | 70 | [ |
70 | function(ctx, loc, lightNode) { ctx.uniform3fv(loc, lightNode.position); }, | 71 | function(ctx, loc, lightNode) { ctx.uniform3fv(loc, lightNode.position); }, |
71 | function(ctx, loc, lightNode) { ctx.uniform4fv(loc, lightNode.lightDiffuse); }, | 72 | function(ctx, loc, lightNode) { ctx.uniform4fv(loc, lightNode.lightDiffuse); }, |
@@ -410,7 +411,7 @@ RDGE.jshader = function (addr) { | |||
410 | // link up aliases | 411 | // link up aliases |
411 | for (var p in curTechnique[i].params) { | 412 | for (var p in curTechnique[i].params) { |
412 | if (typeof curTechnique[i].params[p] == 'string') { | 413 | if (typeof curTechnique[i].params[p] == 'string') { |
413 | // this just redirects to an already existing parameter. | 414 | // this just redirects to an already existing parameter. |
414 | this[t][p] = this[t].passes[i].params[p]; | 415 | this[t][p] = this[t].passes[i].params[p]; |
415 | } | 416 | } |
416 | } | 417 | } |
@@ -446,7 +447,7 @@ RDGE.jshader = function (addr) { | |||
446 | 447 | ||
447 | /* | 448 | /* |
448 | * Init a local parameter at any time during the life of the jshader. | 449 | * Init a local parameter at any time during the life of the jshader. |
449 | * This will add the parameter to the list of parameters to be bound | 450 | * This will add the parameter to the list of parameters to be bound |
450 | * before rendering | 451 | * before rendering |
451 | */ | 452 | */ |
452 | this.initLocalParameter = function (name, param) { | 453 | this.initLocalParameter = function (name, param) { |
@@ -518,7 +519,7 @@ RDGE.jshader = function (addr) { | |||
518 | source = vShaderDef; | 519 | source = vShaderDef; |
519 | } else { | 520 | } else { |
520 | var vshaderRequest = new XMLHttpRequest(); | 521 | var vshaderRequest = new XMLHttpRequest(); |
521 | var urlVertShader = vShaderDef; | 522 | var urlVertShader = vShaderDef; |
522 | vshaderRequest.open("GET", urlVertShader, false); | 523 | vshaderRequest.open("GET", urlVertShader, false); |
523 | vshaderRequest.send(null); | 524 | vshaderRequest.send(null); |
524 | source = vshaderRequest.responseText; | 525 | source = vshaderRequest.responseText; |