MCP 3D Printer Server

by DMontgomery40
Verified
import ViewportTextureNode from './ViewportTextureNode.js'; import { nodeProxy } from '../tsl/TSLBase.js'; import { screenUV } from './ScreenNode.js'; import { FramebufferTexture } from '../../textures/FramebufferTexture.js'; /** @module ViewportSharedTextureNode **/ let _sharedFramebuffer = null; /** * `ViewportTextureNode` creates an internal texture for each node instance. This module * shares a texture across all instances of `ViewportSharedTextureNode`. It should * be the first choice when using data of the default/screen framebuffer for performance reasons. * * @augments module:ViewportTextureNode~ViewportTextureNode */ class ViewportSharedTextureNode extends ViewportTextureNode { static get type() { return 'ViewportSharedTextureNode'; } /** * Constructs a new viewport shared texture node. * * @param {Node} [uvNode=screenUV] - The uv node. * @param {Node?} [levelNode=null] - The level node. */ constructor( uvNode = screenUV, levelNode = null ) { if ( _sharedFramebuffer === null ) { _sharedFramebuffer = new FramebufferTexture(); } super( uvNode, levelNode, _sharedFramebuffer ); } updateReference() { return this; } } export default ViewportSharedTextureNode; /** * TSL function for creating a shared viewport texture node. * * @function * @param {Node} [uvNode=screenUV] - The uv node. * @param {Node?} [levelNode=null] - The level node. * @returns {ViewportSharedTextureNode} */ export const viewportSharedTexture = /*@__PURE__*/ nodeProxy( ViewportSharedTextureNode );