diff options
Diffstat (limited to 'js/lib/rdge/materials/radial-blur-material.js')
-rw-r--r-- | js/lib/rdge/materials/radial-blur-material.js | 117 |
1 files changed, 64 insertions, 53 deletions
diff --git a/js/lib/rdge/materials/radial-blur-material.js b/js/lib/rdge/materials/radial-blur-material.js index 4a32cacd..1f89f79e 100644 --- a/js/lib/rdge/materials/radial-blur-material.js +++ b/js/lib/rdge/materials/radial-blur-material.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 |
@@ -49,17 +50,17 @@ var RadialBlurMaterial = function RadialBlurMaterial() { | |||
49 | /////////////////////////////////////////////////////////////////////// | 50 | /////////////////////////////////////////////////////////////////////// |
50 | // Property Accessors | 51 | // Property Accessors |
51 | /////////////////////////////////////////////////////////////////////// | 52 | /////////////////////////////////////////////////////////////////////// |
52 | this.getName = function () { return this._name; }; | 53 | this.getName = function () { return this._name; }; |
53 | this.getShaderName = function () { return this._shaderName; }; | 54 | this.getShaderName = function () { return this._shaderName; }; |
54 | this.getShaderDef = function() { return radialBlurMaterialDef; }; | 55 | this.getShaderDef = function() { return radialBlurMaterialDef; }; |
55 | this.isAnimated = function () { return true; }; | 56 | this.isAnimated = function () { return true; }; |
56 | 57 | ||
57 | /////////////////////////////////////////////////////////////////////// | 58 | /////////////////////////////////////////////////////////////////////// |
58 | // Material Property Accessors | 59 | // Material Property Accessors |
59 | /////////////////////////////////////////////////////////////////////// | 60 | /////////////////////////////////////////////////////////////////////// |
60 | this._propNames = ["u_tex0", "u_speed"]; | 61 | this._propNames = ["u_tex0", "u_speed"]; |
61 | this._propLabels = ["Texture map", "Speed" ]; | 62 | this._propLabels = ["Texture map", "Speed" ]; |
62 | this._propTypes = ["file", "float" ]; | 63 | this._propTypes = ["file", "float" ]; |
63 | this._propValues = []; | 64 | this._propValues = []; |
64 | 65 | ||
65 | this._propValues[this._propNames[0]] = this._defaultTexMap.slice(0); | 66 | this._propValues[this._propNames[0]] = this._defaultTexMap.slice(0); |
@@ -93,6 +94,16 @@ var RadialBlurMaterial = function RadialBlurMaterial() { | |||
93 | this.update(0); | 94 | this.update(0); |
94 | }; | 95 | }; |
95 | 96 | ||
97 | this.resetToDefault = function() | ||
98 | { | ||
99 | this._propValues[this._propNames[0]] = this._defaultTexMap.slice(0); | ||
100 | this._propValues[this._propNames[1]] = 1.0; | ||
101 | |||
102 | var nProps = this._propNames.length; | ||
103 | for (var i=0; i<nProps; i++) | ||
104 | this.setProperty( this._propNames[i], this._propValues[this._propNames[i]] ); | ||
105 | }; | ||
106 | |||
96 | 107 | ||
97 | this.update = function () { | 108 | this.update = function () { |
98 | var material = this._materialNode; | 109 | var material = this._materialNode; |
@@ -126,42 +137,42 @@ var RadialBlurMaterial = function RadialBlurMaterial() { | |||
126 | // shader spec (can also be loaded from a .JSON file, or constructed at runtime) | 137 | // shader spec (can also be loaded from a .JSON file, or constructed at runtime) |
127 | var radialBlurMaterialDef = | 138 | var radialBlurMaterialDef = |
128 | { 'shaders': | 139 | { 'shaders': |
129 | { | 140 | { |
130 | 'defaultVShader': "assets/shaders/Basic.vert.glsl", | 141 | 'defaultVShader': "assets/shaders/Basic.vert.glsl", |
131 | 'defaultFShader': "assets/shaders/radialBlur.frag.glsl" | 142 | 'defaultFShader': "assets/shaders/radialBlur.frag.glsl" |
132 | }, | 143 | }, |
133 | 'techniques': | 144 | 'techniques': |
134 | { | 145 | { |
135 | 'default': | 146 | 'default': |
136 | [ | 147 | [ |
137 | { | 148 | { |
138 | 'vshader': 'defaultVShader', | 149 | 'vshader': 'defaultVShader', |
139 | 'fshader': 'defaultFShader', | 150 | 'fshader': 'defaultFShader', |
140 | // attributes | 151 | // attributes |
141 | 'attributes': | 152 | 'attributes': |
142 | { | 153 | { |
143 | 'vert': { 'type': 'vec3' }, | 154 | 'vert': { 'type': 'vec3' }, |
144 | 'normal': { 'type': 'vec3' }, | 155 | 'normal': { 'type': 'vec3' }, |
145 | 'texcoord': { 'type': 'vec2' } | 156 | 'texcoord': { 'type': 'vec2' } |
146 | }, | 157 | }, |
147 | // parameters | 158 | // parameters |
148 | 'params': | 159 | 'params': |
149 | { | 160 | { |
150 | 'u_tex0': { 'type': 'tex2d' }, | 161 | 'u_tex0': { 'type': 'tex2d' }, |
151 | 'u_time': { 'type': 'float' }, | 162 | 'u_time': { 'type': 'float' }, |
152 | 'u_speed': { 'type': 'float' }, | 163 | 'u_speed': { 'type': 'float' }, |
153 | 'u_resolution': { 'type': 'vec2' }, | 164 | 'u_resolution': { 'type': 'vec2' }, |
154 | }, | 165 | }, |
155 | 166 | ||
156 | // render states | 167 | // render states |
157 | 'states': | 168 | 'states': |
158 | { | 169 | { |
159 | 'depthEnable': true, | 170 | 'depthEnable': true, |
160 | 'offset': [1.0, 0.1] | 171 | 'offset': [1.0, 0.1] |
161 | } | 172 | } |
162 | } | 173 | } |
163 | ] | 174 | ] |
164 | } | 175 | } |
165 | }; | 176 | }; |
166 | 177 | ||
167 | 178 | ||