ViewportDepthTextureNode.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. import ViewportTextureNode from './ViewportTextureNode.js';
  2. import { addNodeClass } from '../core/Node.js';
  3. import { addNodeElement, nodeProxy } from '../shadernode/ShaderNode.js';
  4. import { viewportTopLeft } from './ViewportNode.js';
  5. import { DepthTexture, NearestMipmapNearestFilter, DepthFormat, UnsignedIntType } from 'three';
  6. let sharedDepthbuffer = null;
  7. class ViewportDepthTextureNode extends ViewportTextureNode {
  8. constructor( uvNode = viewportTopLeft, levelNode = null ) {
  9. if ( sharedDepthbuffer === null ) {
  10. sharedDepthbuffer = new DepthTexture();
  11. sharedDepthbuffer.minFilter = NearestMipmapNearestFilter;
  12. sharedDepthbuffer.type = UnsignedIntType;
  13. sharedDepthbuffer.format = DepthFormat;
  14. }
  15. super( uvNode, levelNode, sharedDepthbuffer );
  16. }
  17. }
  18. export default ViewportDepthTextureNode;
  19. export const viewportDepthTexture = nodeProxy( ViewportDepthTextureNode );
  20. addNodeElement( 'viewportDepthTexture', viewportDepthTexture );
  21. addNodeClass( 'ViewportDepthTextureNode', ViewportDepthTextureNode );