38 lines
892 B
JavaScript
38 lines
892 B
JavaScript
import ViewportTextureNode from './ViewportTextureNode.js';
|
|
import { addNodeClass } from '../core/Node.js';
|
|
import { addNodeElement, nodeProxy } from '../shadernode/ShaderNode.js';
|
|
import { viewportTopLeft } from './ViewportNode.js';
|
|
import { FramebufferTexture } from 'three';
|
|
|
|
let _sharedFramebuffer = null;
|
|
|
|
class ViewportSharedTextureNode extends ViewportTextureNode {
|
|
|
|
constructor( uvNode = viewportTopLeft, levelNode = null ) {
|
|
|
|
if ( _sharedFramebuffer === null ) {
|
|
|
|
_sharedFramebuffer = new FramebufferTexture();
|
|
|
|
}
|
|
|
|
super( uvNode, levelNode, _sharedFramebuffer );
|
|
|
|
}
|
|
|
|
updateReference() {
|
|
|
|
return this;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
export default ViewportSharedTextureNode;
|
|
|
|
export const viewportSharedTexture = nodeProxy( ViewportSharedTextureNode );
|
|
|
|
addNodeElement( 'viewportSharedTexture', viewportSharedTexture );
|
|
|
|
addNodeClass( 'ViewportSharedTextureNode', ViewportSharedTextureNode );
|