export class ThreeCompatRenderTargetSystem {
    descriptor;
    constructor(descriptor) {
        this.descriptor = descriptor;
    }
    get current() {
        return this.descriptor;
    }
    resize(width, height) {
        if (!Number.isInteger(width) || !Number.isInteger(height) || width <= 0 || height <= 0) {
            throw new Error("ThreeCompat render targets require positive integer dimensions.");
        }
        this.descriptor = { ...this.descriptor, width, height };
        return this.descriptor;
    }
    supportsMultipleRenderTargets() {
        return this.descriptor.attachments >= 2;
    }
    supportsHdr() {
        return this.descriptor.format === "rgba16f" || this.descriptor.format === "rgba32f";
    }
}
//# sourceMappingURL=RenderTargetSystem.js.map