import type { Nullable } from "../../types"; import type { InternalTexture } from "../../Materials/Textures/internalTexture"; import type { ThinEngine } from "../../Engines/thinEngine"; import type { IRenderTargetTexture, RenderTargetWrapper } from "../../Engines/renderTargetWrapper"; import { ThinTexture } from "./thinTexture"; import type { TextureSize, RenderTargetCreationOptions } from "./textureCreationOptions"; /** * This is a tiny helper class to wrap a RenderTargetWrapper in a texture * usable as the input of an effect. */ export declare class ThinRenderTargetTexture extends ThinTexture implements IRenderTargetTexture { private readonly _renderTargetOptions; private _renderTarget; private _size; /** * Gets the render target wrapper associated with this render target */ get renderTarget(): Nullable; /** * Instantiates a new ThinRenderTargetTexture. * Tiny helper class to wrap a RenderTargetWrapper in a texture. * This can be used as an internal texture wrapper in ThinEngine to benefit from the cache and to hold on the associated RTT * @param engine Define the internalTexture to wrap * @param size Define the size of the RTT to create * @param options Define rendertarget options */ constructor(engine: ThinEngine, size: TextureSize, options: RenderTargetCreationOptions); /** * Resize the texture to a new desired size. * Be careful as it will recreate all the data in the new texture. * @param size Define the new size. It can be: * - a number for squared texture, * - an object containing { width: number, height: number } */ resize(size: TextureSize): void; /** * Get the underlying lower level texture from Babylon. * @returns the internal texture */ getInternalTexture(): Nullable; /** * Get the class name of the texture. * @returns "ThinRenderTargetTexture" */ getClassName(): string; /** * Dispose the texture and release its associated resources. * @param disposeOnlyFramebuffers if set to true it will dispose only the frame buffers (default: false) */ dispose(disposeOnlyFramebuffers?: boolean): void; }