source: other-projects/playing-in-the-street/summer-2013/trunk/Playing-in-the-Street-WPF/Content/Web/mrdoob-three.js-4862f5f/src/renderers/shaders/UniformsUtils.js@ 28897

Last change on this file since 28897 was 28897, checked in by davidb, 10 years ago

GUI front-end to server base plus web page content

File size: 1.1 KB
Line 
1/**
2 * Uniform Utilities
3 */
4
5THREE.UniformsUtils = {
6
7 merge: function ( uniforms ) {
8
9 var u, p, tmp, merged = {};
10
11 for ( u = 0; u < uniforms.length; u ++ ) {
12
13 tmp = this.clone( uniforms[ u ] );
14
15 for ( p in tmp ) {
16
17 merged[ p ] = tmp[ p ];
18
19 }
20
21 }
22
23 return merged;
24
25 },
26
27 clone: function ( uniforms_src ) {
28
29 var u, p, parameter, parameter_src, uniforms_dst = {};
30
31 for ( u in uniforms_src ) {
32
33 uniforms_dst[ u ] = {};
34
35 for ( p in uniforms_src[ u ] ) {
36
37 parameter_src = uniforms_src[ u ][ p ];
38
39 if ( parameter_src instanceof THREE.Color ||
40 parameter_src instanceof THREE.Vector2 ||
41 parameter_src instanceof THREE.Vector3 ||
42 parameter_src instanceof THREE.Vector4 ||
43 parameter_src instanceof THREE.Matrix4 ||
44 parameter_src instanceof THREE.Texture ) {
45
46 uniforms_dst[ u ][ p ] = parameter_src.clone();
47
48 } else if ( parameter_src instanceof Array ) {
49
50 uniforms_dst[ u ][ p ] = parameter_src.slice();
51
52 } else {
53
54 uniforms_dst[ u ][ p ] = parameter_src;
55
56 }
57
58 }
59
60 }
61
62 return uniforms_dst;
63
64 }
65
66};
Note: See TracBrowser for help on using the repository browser.