*Inheritance: EventDispatcher → Node → InputNode → UniformNode → TextureNode →* # ViewportTextureNode A special type of texture node which represents the data of the current viewport as a texture. The module extracts data from the current bound framebuffer with a copy operation so no extra render pass is required to produce the texture data (which is good for performance). `ViewportTextureNode` can be used as an input for a variety of effects like refractive or transmissive materials. ## Constructor ### new ViewportTextureNode( uvNode : Node, levelNode : Node, framebufferTexture : Texture ) Constructs a new viewport texture node. **uvNode** The uv node. Default is `screenUV`. **levelNode** The level node. Default is `null`. **framebufferTexture** A framebuffer texture holding the viewport data. If not provided, a framebuffer texture is created automatically. Default is `null`. ## Properties ### .defaultFramebuffer : FramebufferTexture The reference framebuffer texture. This is used to store the framebuffer texture for the current render target. If the render target changes, a new framebuffer texture is created automatically. Default is `null`. ### .generateMipmaps : boolean Whether to generate mipmaps or not. Default is `false`. ### .isOutputTextureNode : boolean (readonly) This flag can be used for type testing. Default is `true`. ### .updateBeforeType : string The `updateBeforeType` is set to `NodeUpdateType.RENDER` since the node should extract the current contents of the bound framebuffer for each render call. Default is `'render'`. **Overrides:** [TextureNode#updateBeforeType](TextureNode.html#updateBeforeType) ## Methods ### .getTextureForReference( reference : RenderTarget ) : Texture This methods returns a texture for the given render target reference. To avoid rendering errors, `ViewportTextureNode` must use unique framebuffer textures for different render contexts. **reference** The render target reference. Default is `null`. **Returns:** The framebuffer texture. ## Source [src/nodes/display/ViewportTextureNode.js](https://github.com/mrdoob/three.js/blob/master/src/nodes/display/ViewportTextureNode.js)