UniformGroupNode.js 764 B

123456789101112131415161718192021222324252627282930313233343536
  1. import Node from './Node.js';
  2. import { addNodeClass } from './Node.js';
  3. class UniformGroupNode extends Node {
  4. constructor( name, shared = false ) {
  5. super( 'string' );
  6. this.name = name;
  7. this.version = 0;
  8. this.shared = shared;
  9. this.isUniformGroup = true;
  10. }
  11. set needsUpdate( value ) {
  12. if ( value === true ) this.version ++;
  13. }
  14. }
  15. export const uniformGroup = ( name ) => new UniformGroupNode( name );
  16. export const sharedUniformGroup = ( name ) => new UniformGroupNode( name, true );
  17. export const frameGroup = sharedUniformGroup( 'frame' );
  18. export const renderGroup = sharedUniformGroup( 'render' );
  19. export const objectGroup = uniformGroup( 'object' );
  20. export default UniformGroupNode;
  21. addNodeClass( 'UniformGroupNode', UniformGroupNode );