UNPKG

@lightningjs/renderer

Version:
47 lines 1.48 kB
import { UpdateType } from "./CoreNode.js"; export class CoreTexturizer { node; enabled = false; renderTexture = null; rttRequested = false; constructor(node) { this.node = node; } enableRenderTexture() { this.enabled = true; this.createRenderTexture(); } createRenderTexture() { this.unloadRenderTexture(); this.renderTexture = this.node.stage.txManager.createTexture('RenderTexture', { width: this.node.width, height: this.node.height, }); } loadRenderTexture() { if (this.renderTexture === null) { return; } if (this.renderTexture.state === 'loaded') { this.node.stage.renderer.renderToTexture(this.node); return; } this.node.stage.txManager.loadTexture(this.renderTexture, true); this.renderTexture.once('loaded', () => { this.node.stage.renderer.renderToTexture(this.node); this.node.setUpdateType(UpdateType.IsRenderable); }); this.renderTexture.setRenderableOwner(this, true); } unloadRenderTexture() { if (this.renderTexture !== null) { this.renderTexture.setRenderableOwner(this, false); } this.renderTexture = null; } requestRTT() { this.rttRequested = true; this.node.setUpdateType(UpdateType.RenderTexture); } } //# sourceMappingURL=CoreTexturizer.js.map