@pixi/core
Version:
Core PixiJS
53 lines (50 loc) • 1.68 kB
JavaScript
import { Color } from '@pixi/color';
import { MSAA_QUALITY, MIPMAP_MODES } from '@pixi/constants';
import { Framebuffer } from '../framebuffer/Framebuffer.mjs';
import { BaseTexture } from '../textures/BaseTexture.mjs';
class BaseRenderTexture extends BaseTexture {
constructor(options = {}) {
if (typeof options === "number") {
const width = arguments[0];
const height = arguments[1];
const scaleMode = arguments[2];
const resolution = arguments[3];
options = { width, height, scaleMode, resolution };
}
options.width = options.width || 100;
options.height = options.height || 100;
options.multisample ?? (options.multisample = MSAA_QUALITY.NONE);
super(null, options);
this.mipmap = MIPMAP_MODES.OFF;
this.valid = true;
this._clear = new Color([0, 0, 0, 0]);
this.framebuffer = new Framebuffer(this.realWidth, this.realHeight).addColorTexture(0, this);
this.framebuffer.multisample = options.multisample;
this.maskStack = [];
this.filterStack = [{}];
}
set clearColor(value) {
this._clear.setValue(value);
}
get clearColor() {
return this._clear.value;
}
get clear() {
return this._clear;
}
resize(desiredWidth, desiredHeight) {
this.framebuffer.resize(desiredWidth * this.resolution, desiredHeight * this.resolution);
this.setRealSize(this.framebuffer.width, this.framebuffer.height);
}
dispose() {
this.framebuffer.dispose();
super.dispose();
}
destroy() {
super.destroy();
this.framebuffer.destroyDepthTexture();
this.framebuffer = null;
}
}
export { BaseRenderTexture };
//# sourceMappingURL=BaseRenderTexture.mjs.map