32 lines
		
	
	
		
			826 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			826 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 { DepthTexture } from 'three';
 | |
| 
 | |
| let sharedDepthbuffer = null;
 | |
| 
 | |
| class ViewportDepthTextureNode extends ViewportTextureNode {
 | |
| 
 | |
| 	constructor( uvNode = viewportTopLeft, levelNode = null ) {
 | |
| 
 | |
| 		if ( sharedDepthbuffer === null ) {
 | |
| 
 | |
| 			sharedDepthbuffer = new DepthTexture();
 | |
| 
 | |
| 		}
 | |
| 
 | |
| 		super( uvNode, levelNode, sharedDepthbuffer );
 | |
| 
 | |
| 	}
 | |
| 
 | |
| }
 | |
| 
 | |
| export default ViewportDepthTextureNode;
 | |
| 
 | |
| export const viewportDepthTexture = nodeProxy( ViewportDepthTextureNode );
 | |
| 
 | |
| addNodeElement( 'viewportDepthTexture', viewportDepthTexture );
 | |
| 
 | |
| addNodeClass( 'ViewportDepthTextureNode', ViewportDepthTextureNode );
 |