Uniforms.js 853 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /**
  2. * @author alteredq / http://alteredqualia.com/
  3. */
  4. var Uniforms = {
  5. clone: function( uniforms_src ) {
  6. var u, p, parameter, parameter_src, uniforms_dst = {};
  7. for ( u in uniforms_src ) {
  8. uniforms_dst[ u ] = {};
  9. for ( p in uniforms_src[ u ] ) {
  10. parameter_src = uniforms_src[ u ][ p ];
  11. if ( parameter_src instanceof THREE.Color ||
  12. parameter_src instanceof THREE.Vector3 ||
  13. parameter_src instanceof THREE.Texture ) {
  14. uniforms_dst[ u ][ p ] = parameter_src.clone();
  15. } else {
  16. uniforms_dst[ u ][ p ] = parameter_src;
  17. }
  18. }
  19. }
  20. return uniforms_dst;
  21. },
  22. merge: function( uniforms ) {
  23. var u, p, tmp, merged = {};
  24. for( u = 0; u < uniforms.length; u++ ) {
  25. tmp = this.clone( uniforms[ u ] );
  26. for ( p in tmp ) {
  27. merged[ p ] = tmp[ p ];
  28. }
  29. }
  30. return merged;
  31. }
  32. };
粤ICP备19079148号