Skip to content

Commit 9d4b774

Browse files
committed
WebGLRenderer: Started to address uniforms code duplication. See mrdoob#6854.
1 parent 8461fd4 commit 9d4b774

4 files changed

Lines changed: 68 additions & 68 deletions

File tree

src/materials/ShaderMaterial.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*
44
* parameters = {
55
* defines: { "label" : "value" },
6-
* uniforms: { "parameter1": { type: "f", value: 1.0 }, "parameter2": { type: "i" value2: 2 } },
6+
* uniforms: { "parameter1": { type: "1f", value: 1.0 }, "parameter2": { type: "1i" value2: 2 } },
77
*
88
* fragmentShader: <string>,
99
* vertexShader: <string>,

src/renderers/WebGLRenderer.js

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2288,14 +2288,34 @@ THREE.WebGLRenderer = function ( parameters ) {
22882288

22892289
} else if ( type === 'i' ) {
22902290

2291-
// single integer
2291+
// console.warn( 'THREE.WebGLRenderer: Uniform "i" is now "1i".' );
22922292
_gl.uniform1i( location, value );
22932293

22942294
} else if ( type === 'f' ) {
22952295

2296-
// single float
2296+
// console.warn( 'THREE.WebGLRenderer: Uniform "f" is now "1f".' );
22972297
_gl.uniform1f( location, value );
22982298

2299+
} else if ( type === 'iv1' ) {
2300+
2301+
// console.warn( 'THREE.WebGLRenderer: Uniform "iv1" is now "1iv".' );
2302+
_gl.uniform1iv( location, value );
2303+
2304+
} else if ( type === 'iv' ) {
2305+
2306+
// console.warn( 'THREE.WebGLRenderer: Uniform "iv" is now "3iv".' );
2307+
_gl.uniform3iv( location, value );
2308+
2309+
} else if ( type === 'fv1' ) {
2310+
2311+
// console.warn( 'THREE.WebGLRenderer: Uniform "fv1" is now "1fv".' );
2312+
_gl.uniform1fv( location, value );
2313+
2314+
} else if ( type === 'fv' ) {
2315+
2316+
// console.warn( 'THREE.WebGLRenderer: Uniform "fv" is now "3fv".' );
2317+
_gl.uniform3fv( location, value );
2318+
22992319
} else if ( type === 'v2' ) {
23002320

23012321
// single THREE.Vector2
@@ -2352,26 +2372,6 @@ THREE.WebGLRenderer = function ( parameters ) {
23522372

23532373
}
23542374

2355-
} else if ( type === 'iv1' ) {
2356-
2357-
// flat array of integers (JS or typed array)
2358-
_gl.uniform1iv( location, value );
2359-
2360-
} else if ( type === 'iv' ) {
2361-
2362-
// flat array of integers with 3 x N size (JS or typed array)
2363-
_gl.uniform3iv( location, value );
2364-
2365-
} else if ( type === 'fv1' ) {
2366-
2367-
// flat array of floats (JS or typed array)
2368-
_gl.uniform1fv( location, value );
2369-
2370-
} else if ( type === 'fv' ) {
2371-
2372-
// flat array of floats with 3 x N size (JS or typed array)
2373-
_gl.uniform3fv( location, value );
2374-
23752375
} else if ( type === 'v2v' ) {
23762376

23772377
// array of THREE.Vector2

src/renderers/shaders/ShaderLib.js

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ THREE.ShaderLib = {
6363
{
6464
"emissive" : { type: "c", value: new THREE.Color( 0x000000 ) },
6565
"specular" : { type: "c", value: new THREE.Color( 0x111111 ) },
66-
"shininess": { type: "f", value: 30 }
66+
"shininess": { type: "1f", value: 30 }
6767
}
6868

6969
] ),
@@ -91,9 +91,9 @@ THREE.ShaderLib = {
9191

9292
{
9393
"emissive" : { type: "c", value: new THREE.Color( 0x000000 ) },
94-
"roughness": { type: "f", value: 0.5 },
95-
"metalness": { type: "f", value: 0 },
96-
"envMapIntensity" : { type: "f", value: 1 } // temporary
94+
"roughness": { type: "1f", value: 0.5 },
95+
"metalness": { type: "1f", value: 0 },
96+
"envMapIntensity" : { type: "1f", value: 1 } // temporary
9797
}
9898

9999
] ),
@@ -125,9 +125,9 @@ THREE.ShaderLib = {
125125
THREE.UniformsLib[ "fog" ],
126126

127127
{
128-
"scale" : { type: "f", value: 1 },
129-
"dashSize" : { type: "f", value: 1 },
130-
"totalSize": { type: "f", value: 2 }
128+
"scale" : { type: "1f", value: 1 },
129+
"dashSize" : { type: "1f", value: 1 },
130+
"totalSize": { type: "1f", value: 2 }
131131
}
132132

133133
] ),
@@ -141,9 +141,9 @@ THREE.ShaderLib = {
141141

142142
uniforms: {
143143

144-
"mNear": { type: "f", value: 1.0 },
145-
"mFar" : { type: "f", value: 2000.0 },
146-
"opacity" : { type: "f", value: 1.0 }
144+
"mNear": { type: "1f", value: 1.0 },
145+
"mFar" : { type: "1f", value: 2000.0 },
146+
"opacity" : { type: "1f", value: 1.0 }
147147

148148
},
149149

@@ -156,7 +156,7 @@ THREE.ShaderLib = {
156156

157157
uniforms: {
158158

159-
"opacity" : { type: "f", value: 1.0 }
159+
"opacity" : { type: "1f", value: 1.0 }
160160

161161
},
162162

@@ -173,7 +173,7 @@ THREE.ShaderLib = {
173173

174174
uniforms: {
175175
"tCube": { type: "t", value: null },
176-
"tFlip": { type: "f", value: - 1 }
176+
"tFlip": { type: "1f", value: - 1 }
177177
},
178178

179179
vertexShader: THREE.ShaderChunk['cube_vert'],
@@ -189,7 +189,7 @@ THREE.ShaderLib = {
189189

190190
uniforms: {
191191
"tEquirect": { type: "t", value: null },
192-
"tFlip": { type: "f", value: - 1 }
192+
"tFlip": { type: "1f", value: - 1 }
193193
},
194194

195195
vertexShader: THREE.ShaderChunk['equirect_vert'],

src/renderers/shaders/UniformsLib.js

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ THREE.UniformsLib = {
77
common: {
88

99
"diffuse": { type: "c", value: new THREE.Color( 0xeeeeee ) },
10-
"opacity": { type: "f", value: 1.0 },
10+
"opacity": { type: "1f", value: 1.0 },
1111

1212
"map": { type: "t", value: null },
1313
"offsetRepeat": { type: "v4", value: new THREE.Vector4( 0, 0, 1, 1 ) },
@@ -16,23 +16,23 @@ THREE.UniformsLib = {
1616
"alphaMap": { type: "t", value: null },
1717

1818
"envMap": { type: "t", value: null },
19-
"flipEnvMap": { type: "f", value: - 1 },
20-
"reflectivity": { type: "f", value: 1.0 },
21-
"refractionRatio": { type: "f", value: 0.98 }
19+
"flipEnvMap": { type: "1f", value: - 1 },
20+
"reflectivity": { type: "1f", value: 1.0 },
21+
"refractionRatio": { type: "1f", value: 0.98 }
2222

2323
},
2424

2525
aomap: {
2626

2727
"aoMap": { type: "t", value: null },
28-
"aoMapIntensity": { type: "f", value: 1 }
28+
"aoMapIntensity": { type: "1f", value: 1 }
2929

3030
},
3131

3232
lightmap: {
3333

3434
"lightMap": { type: "t", value: null },
35-
"lightMapIntensity": { type: "f", value: 1 }
35+
"lightMapIntensity": { type: "1f", value: 1 }
3636

3737
},
3838

@@ -45,7 +45,7 @@ THREE.UniformsLib = {
4545
bumpmap: {
4646

4747
"bumpMap": { type: "t", value: null },
48-
"bumpScale": { type: "f", value: 1 }
48+
"bumpScale": { type: "1f", value: 1 }
4949

5050
},
5151

@@ -59,8 +59,8 @@ THREE.UniformsLib = {
5959
displacementmap: {
6060

6161
"displacementMap": { type: "t", value: null },
62-
"displacementScale": { type: "f", value: 1 },
63-
"displacementBias": { type: "f", value: 0 }
62+
"displacementScale": { type: "1f", value: 1 },
63+
"displacementBias": { type: "1f", value: 0 }
6464

6565
},
6666

@@ -78,24 +78,24 @@ THREE.UniformsLib = {
7878

7979
fog: {
8080

81-
"fogDensity": { type: "f", value: 0.00025 },
82-
"fogNear": { type: "f", value: 1 },
83-
"fogFar": { type: "f", value: 2000 },
81+
"fogDensity": { type: "1f", value: 0.00025 },
82+
"fogNear": { type: "1f", value: 1 },
83+
"fogFar": { type: "1f", value: 2000 },
8484
"fogColor": { type: "c", value: new THREE.Color( 0xffffff ) }
8585

8686
},
8787

8888
lights: {
8989

90-
"ambientLightColor": { type: "fv", value: [] },
90+
"ambientLightColor": { type: "3fv", value: [] },
9191

9292
"directionalLights": { type: "sa", value: [], properties: {
9393
"direction": { type: "v3" },
9494
"color": { type: "c" },
9595

96-
"shadow": { type: "i" },
97-
"shadowBias": { type: "f" },
98-
"shadowRadius": { type: "f" },
96+
"shadow": { type: "1i" },
97+
"shadowBias": { type: "1f" },
98+
"shadowRadius": { type: "1f" },
9999
"shadowMapSize": { type: "v2" }
100100
} },
101101

@@ -106,14 +106,14 @@ THREE.UniformsLib = {
106106
"color": { type: "c" },
107107
"position": { type: "v3" },
108108
"direction": { type: "v3" },
109-
"distance": { type: "f" },
110-
"coneCos": { type: "f" },
111-
"penumbraCos": { type: "f" },
112-
"decay": { type: "f" },
113-
114-
"shadow": { type: "i" },
115-
"shadowBias": { type: "f" },
116-
"shadowRadius": { type: "f" },
109+
"distance": { type: "1f" },
110+
"coneCos": { type: "1f" },
111+
"penumbraCos": { type: "1f" },
112+
"decay": { type: "1f" },
113+
114+
"shadow": { type: "1i" },
115+
"shadowBias": { type: "1f" },
116+
"shadowRadius": { type: "1f" },
117117
"shadowMapSize": { type: "v2" }
118118
} },
119119

@@ -123,12 +123,12 @@ THREE.UniformsLib = {
123123
"pointLights": { type: "sa", value: [], properties: {
124124
"color": { type: "c" },
125125
"position": { type: "v3" },
126-
"decay": { type: "f" },
127-
"distance": { type: "f" },
126+
"decay": { type: "1f" },
127+
"distance": { type: "1f" },
128128

129-
"shadow": { type: "i" },
130-
"shadowBias": { type: "f" },
131-
"shadowRadius": { type: "f" },
129+
"shadow": { type: "1i" },
130+
"shadowBias": { type: "1f" },
131+
"shadowRadius": { type: "1f" },
132132
"shadowMapSize": { type: "v2" }
133133
} },
134134

@@ -146,9 +146,9 @@ THREE.UniformsLib = {
146146
points: {
147147

148148
"diffuse": { type: "c", value: new THREE.Color( 0xeeeeee ) },
149-
"opacity": { type: "f", value: 1.0 },
150-
"size": { type: "f", value: 1.0 },
151-
"scale": { type: "f", value: 1.0 },
149+
"opacity": { type: "1f", value: 1.0 },
150+
"size": { type: "1f", value: 1.0 },
151+
"scale": { type: "1f", value: 1.0 },
152152
"map": { type: "t", value: null },
153153
"offsetRepeat": { type: "v4", value: new THREE.Vector4( 0, 0, 1, 1 ) }
154154

0 commit comments

Comments
 (0)