node-ejs-renderer/node_modules/three/examples/jsm/nodes/accessors/RendererReferenceNode.js
2024-06-09 13:55:01 -04:00

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 );