import { type InitializationData, type SmartFilter } from "../smartFilter.js"; /** * The render target generator is responsible for creating and assigning render targets to ShaderBlocks. */ export declare class RenderTargetGenerator { private _optimize; private _renderTargetPool; private _textureOptionsHashCache; private _numTargetsCreated; /** * Creates a new render target generator. * @param optimize - If true, the render target generator will try to reuse render targets as much as possible. */ constructor(optimize?: boolean); /** * Returns the number of render targets created by the process */ get numTargetsCreated(): number; /** * Sets the output textures for the ShaderBlocks of the smart filter. * @param smartFilter - The smart filter to generate the render targets for. * @param initializationData - The initialization data to use. */ setOutputTextures(smartFilter: SmartFilter, initializationData: InitializationData): void; private _findAvailableTexture; private _getTexture; private _releaseTexture; /** * Creates an offscreen texture to hold on the result of the block rendering. * @param runtime - The current runtime we create the texture for * @param smartFilter - The smart filter the texture is created for * @param textureOptions - The options to use to create the texture * @returns The render target texture */ private _createTexture; /** * Gets a textureOptionsHash for a block, using a cache to avoid recomputing it. * @param block - The block to get the texture options hash for * @returns The texture options hash for the block */ private _getTextureOptionsHash; } //# sourceMappingURL=renderTargetGenerator.d.ts.map