Files
il/resources/public/js/cljs-runtime/module$node_modules$pixi_DOT_js$lib$rendering$renderers$gl$GlBackBufferSystem.js
2026-07-01 22:38:29 -06:00

52 lines
4.3 KiB
JavaScript

shadow$provide.module$node_modules$pixi_DOT_js$lib$rendering$renderers$gl$GlBackBufferSystem = function(global, require, module, exports) {
global = require("module$node_modules$pixi_DOT_js$lib$extensions$Extensions");
var warn = require("module$node_modules$pixi_DOT_js$lib$utils$logging$warn");
module = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$geometry$Geometry");
var Shader = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$shader$Shader"), State = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$state$State"), TextureSource = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$texture$sources$TextureSource"), Texture = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$shared$texture$Texture"), GlProgram = require("module$node_modules$pixi_DOT_js$lib$rendering$renderers$gl$shader$GlProgram");
"use strict";
const bigTriangleGeometry = new module.Geometry({attributes:{aPosition:[-1, -1, 3, -1, -1, 3]}}), node_modules$pixi_DOT_js$lib$rendering$renderers$gl$GlBackBufferSystem$classdecl$var25 = class {
constructor(renderer) {
this._useBackBufferThisRender = this.useBackBuffer = !1;
this._renderer = renderer;
}
init(options = {}) {
const {useBackBuffer, antialias} = {...node_modules$pixi_DOT_js$lib$rendering$renderers$gl$GlBackBufferSystem$classdecl$var25.defaultOptions, ...options};
this.useBackBuffer = useBackBuffer;
this._antialias = antialias;
this._renderer.context.supports.msaa || (warn.warn("antialiasing, is not supported on when using the back buffer"), this._antialias = !1);
this._state = State.State.for2d();
options = new GlProgram.GlProgram({vertex:"\n attribute vec2 aPosition;\n out vec2 vUv;\n\n void main() {\n gl_Position \x3d vec4(aPosition, 0.0, 1.0);\n\n vUv \x3d (aPosition + 1.0) / 2.0;\n\n // flip dem UVs\n vUv.y \x3d 1.0 - vUv.y;\n }", fragment:"\n in vec2 vUv;\n out vec4 finalColor;\n\n uniform sampler2D uTexture;\n\n void main() {\n finalColor \x3d texture(uTexture, vUv);\n }",
name:"big-triangle"});
this._bigTriangleShader = new Shader.Shader({glProgram:options, resources:{uTexture:Texture.Texture.WHITE.source}});
}
renderStart(options) {
var renderTarget = this._renderer.renderTarget.getRenderTarget(options.target);
if (this._useBackBufferThisRender = this.useBackBuffer && !!renderTarget.isRoot) {
renderTarget = this._renderer.renderTarget.getRenderTarget(options.target), this._targetTexture = renderTarget.colorTexture, options.target = this._getBackBufferTexture(renderTarget.colorTexture);
}
}
renderEnd() {
this._presentBackBuffer();
}
_presentBackBuffer() {
const renderer = this._renderer;
renderer.renderTarget.finishRenderPass();
this._useBackBufferThisRender && (renderer.renderTarget.bind(this._targetTexture, !1), this._bigTriangleShader.resources.uTexture = this._backBufferTexture.source, renderer.encoder.draw({geometry:bigTriangleGeometry, shader:this._bigTriangleShader, state:this._state}));
}
_getBackBufferTexture(targetSourceTexture) {
this._backBufferTexture = this._backBufferTexture || new Texture.Texture({source:new TextureSource.TextureSource({width:targetSourceTexture.width, height:targetSourceTexture.height, resolution:targetSourceTexture._resolution, antialias:this._antialias})});
this._backBufferTexture.source.resize(targetSourceTexture.width, targetSourceTexture.height, targetSourceTexture._resolution);
return this._backBufferTexture;
}
destroy() {
this._backBufferTexture && (this._backBufferTexture.destroy(), this._backBufferTexture = null);
}
};
require = node_modules$pixi_DOT_js$lib$rendering$renderers$gl$GlBackBufferSystem$classdecl$var25;
require.extension = {type:[global.ExtensionType.WebGLSystem], name:"backBuffer", priority:1};
require.defaultOptions = {useBackBuffer:!1};
exports.GlBackBufferSystem = require;
};
//# sourceMappingURL=module$node_modules$pixi_DOT_js$lib$rendering$renderers$gl$GlBackBufferSystem.js.map