12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- /**
- * Uniform Utilities
- */
- var UniformsUtils = {
- merge: function ( uniforms ) {
- var merged = {};
- for ( var u = 0; u < uniforms.length; u ++ ) {
- var tmp = this.clone( uniforms[ u ] );
- for ( var p in tmp ) {
- merged[ p ] = tmp[ p ];
- }
- }
- return merged;
- },
- clone: function ( uniforms_src ) {
- var uniforms_dst = {};
- for ( var u in uniforms_src ) {
- uniforms_dst[ u ] = {};
- for ( var p in uniforms_src[ u ] ) {
- var parameter_src = uniforms_src[ u ][ p ];
- if ( parameter_src && ( parameter_src.isColor ||
- parameter_src.isMatrix3 || parameter_src.isMatrix4 ||
- parameter_src.isVector2 || parameter_src.isVector3 || parameter_src.isVector4 ||
- parameter_src.isTexture ) ) {
- uniforms_dst[ u ][ p ] = parameter_src.clone();
- } else if ( Array.isArray( parameter_src ) ) {
- uniforms_dst[ u ][ p ] = parameter_src.slice();
- } else {
- uniforms_dst[ u ][ p ] = parameter_src;
- }
- }
- }
- return uniforms_dst;
- }
- };
- export { UniformsUtils };
|