30 lines
709 B
JavaScript
30 lines
709 B
JavaScript
import ReferenceNode from './ReferenceNode.js';
|
|
import { addNodeClass } from '../core/Node.js';
|
|
import { nodeObject } from '../shadernode/ShaderNode.js';
|
|
|
|
class RendererReferenceNode extends ReferenceNode {
|
|
|
|
constructor( property, inputType, renderer = null ) {
|
|
|
|
super( property, inputType, renderer );
|
|
|
|
this.renderer = renderer;
|
|
|
|
}
|
|
|
|
updateReference( state ) {
|
|
|
|
this.reference = this.renderer !== null ? this.renderer : state.renderer;
|
|
|
|
return this.reference;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
export default RendererReferenceNode;
|
|
|
|
export const rendererReference = ( name, type, renderer ) => nodeObject( new RendererReferenceNode( name, type, renderer ) );
|
|
|
|
addNodeClass( 'RendererReferenceNode', RendererReferenceNode );
|