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