Cesium-Examples/libs/three/examples/jsm/nodes/display/ViewportSharedTextureNode.js
2025-03-19 11:00:22 +08:00

32 lines
817 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 );
}
}
export default ViewportSharedTextureNode;
export const viewportSharedTexture = nodeProxy( ViewportSharedTextureNode );
addNodeElement( 'viewportSharedTexture', viewportSharedTexture );
addNodeClass( ViewportSharedTextureNode );