Spaces:
Running
Running
| /** | |
| * Uniform Utilities | |
| */ | |
| export function cloneUniforms( src ) { | |
| var dst = {}; | |
| for ( var u in src ) { | |
| dst[ u ] = {}; | |
| for ( var p in src[ u ] ) { | |
| var property = src[ u ][ p ]; | |
| if ( property && ( property.isColor || | |
| property.isMatrix3 || property.isMatrix4 || | |
| property.isVector2 || property.isVector3 || property.isVector4 || | |
| property.isTexture ) ) { | |
| dst[ u ][ p ] = property.clone(); | |
| } else if ( Array.isArray( property ) ) { | |
| dst[ u ][ p ] = property.slice(); | |
| } else { | |
| dst[ u ][ p ] = property; | |
| } | |
| } | |
| } | |
| return dst; | |
| } | |
| export function mergeUniforms( uniforms ) { | |
| var merged = {}; | |
| for ( var u = 0; u < uniforms.length; u ++ ) { | |
| var tmp = cloneUniforms( uniforms[ u ] ); | |
| for ( var p in tmp ) { | |
| merged[ p ] = tmp[ p ]; | |
| } | |
| } | |
| return merged; | |
| } | |
| // Legacy | |
| var UniformsUtils = { clone: cloneUniforms, merge: mergeUniforms }; | |
| export { UniformsUtils }; | |