rayzee 5.8.1 → 5.8.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/rayzee.es.js +81 -83
- package/dist/rayzee.es.js.map +1 -1
- package/dist/rayzee.umd.js +2 -2
- package/dist/rayzee.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/Passes/OIDNDenoiser.js +7 -7
- package/src/Processor/ToneMapCPU.js +12 -1
- package/src/Stages/ASVGF.js +62 -248
package/dist/rayzee.es.js
CHANGED
|
@@ -9177,9 +9177,9 @@ var bc = class extends wn {
|
|
|
9177
9177
|
super("ASVGF", {
|
|
9178
9178
|
...t,
|
|
9179
9179
|
executionMode: Cn.PER_CYCLE
|
|
9180
|
-
}), this.renderer = e, this.debugContainer = t.debugContainer || null, this.temporalAlpha = H(t.temporalAlpha ?? .1), this.
|
|
9180
|
+
}), this.renderer = e, this.debugContainer = t.debugContainer || null, this.temporalAlpha = H(t.temporalAlpha ?? .1), this.phiColor = H(t.phiColor ?? 10), this.maxAccumFrames = H(t.maxAccumFrames ?? 32), this.varianceClip = H(t.varianceClip ?? 1), this.resW = H(t.width || 1), this.resH = H(t.height || 1), this.temporalEnabled = !0, this.temporalEnabledU = H(1), this._colorTexNode = new c(), this._motionTexNode = new c(), this._readTemporalTexNode = new c();
|
|
9181
9181
|
let n = t.width || 1, r = t.height || 1;
|
|
9182
|
-
this._temporalTexA = new s(n, r), this._temporalTexA.type = Ye, this._temporalTexA.format = yt, this._temporalTexA.minFilter = q, this._temporalTexA.magFilter = q, this._temporalTexB = new s(n, r), this._temporalTexB.type = Ye, this._temporalTexB.format = yt, this._temporalTexB.minFilter = q, this._temporalTexB.magFilter = q, this.
|
|
9182
|
+
this._temporalTexA = new s(n, r), this._temporalTexA.type = Ye, this._temporalTexA.format = yt, this._temporalTexA.minFilter = q, this._temporalTexA.magFilter = q, this._temporalTexB = new s(n, r), this._temporalTexB.type = Ye, this._temporalTexB.format = yt, this._temporalTexB.minFilter = q, this._temporalTexB.magFilter = q, this._gradientStorageTex = new s(n, r), this._gradientStorageTex.type = Ye, this._gradientStorageTex.format = yt, this._gradientStorageTex.minFilter = q, this._gradientStorageTex.magFilter = q, this.currentMoments = 0, this._compiled = !1, this._dispatchX = Math.ceil(n / 8), this._dispatchY = Math.ceil(r / 8), this._buildGradientCompute(), this._buildTemporalCompute(), this.showHeatmap = !1, this.debugMode = H(0, "int"), this._heatmapStorageTex = new s(n, r), this._heatmapStorageTex.type = qe, this._heatmapStorageTex.format = yt, this._heatmapStorageTex.minFilter = ct, this._heatmapStorageTex.magFilter = ct, this.heatmapTarget = new i(n, r, {
|
|
9183
9183
|
type: qe,
|
|
9184
9184
|
format: yt,
|
|
9185
9185
|
minFilter: ct,
|
|
@@ -9226,35 +9226,29 @@ var bc = class extends wn {
|
|
|
9226
9226
|
]);
|
|
9227
9227
|
}
|
|
9228
9228
|
_buildTemporalCompute() {
|
|
9229
|
-
this._temporalNodeA = this._buildTemporalForDirection(this._temporalTexA
|
|
9230
|
-
}
|
|
9231
|
-
_buildTemporalForDirection(e
|
|
9232
|
-
let
|
|
9233
|
-
this._gradientReadTexNode;
|
|
9234
|
-
let s = this.temporalAlpha;
|
|
9235
|
-
this.gradientScale, this.gradientMin, this.gradientMax;
|
|
9236
|
-
let c = this.phiNormal, l = this.phiDepth, u = this.maxAccumFrames, d = this.varianceClip, f = this.temporalEnabledU, h = this.resW, g = this.resH;
|
|
9229
|
+
this._temporalNodeA = this._buildTemporalForDirection(this._temporalTexA), this._temporalNodeB = this._buildTemporalForDirection(this._temporalTexB);
|
|
9230
|
+
}
|
|
9231
|
+
_buildTemporalForDirection(e) {
|
|
9232
|
+
let t = this._colorTexNode, n = this._motionTexNode, r = this._readTemporalTexNode, i = this.temporalAlpha, a = this.maxAccumFrames, o = this.varianceClip, s = this.temporalEnabledU, c = this.resW, l = this.resH;
|
|
9237
9233
|
return p(() => {
|
|
9238
|
-
let
|
|
9239
|
-
m(
|
|
9240
|
-
let
|
|
9241
|
-
m(
|
|
9242
|
-
let e = B(
|
|
9243
|
-
m(
|
|
9244
|
-
let e = P(N(
|
|
9245
|
-
|
|
9246
|
-
|
|
9247
|
-
|
|
9248
|
-
let r = B(n, P(p.add(t).clamp(N(0), N(h).sub(1)), _.add(e).clamp(N(0), N(g).sub(1)))).xyz;
|
|
9249
|
-
w.assign(oe(w, r)), T.assign(I(T, r)), E.addAssign(r);
|
|
9234
|
+
let u = N(De.x).mul(8).add(N(F.x)), d = N(De.y).mul(8).add(N(F.y));
|
|
9235
|
+
m(u.lessThan(N(c)).and(d.lessThan(N(l))), () => {
|
|
9236
|
+
let f = P(u, d), p = B(t, f).xyz, h = G(p, 1).toVar();
|
|
9237
|
+
m(s.greaterThan(.5), () => {
|
|
9238
|
+
let e = B(n, f), s = e.w.greaterThan(.5), g = M(u).sub(e.x.mul(c)), _ = M(d).sub(e.y.mul(l)), v = g.greaterThanEqual(0).and(g.lessThan(M(c))).and(_.greaterThanEqual(0)).and(_.lessThan(M(l)));
|
|
9239
|
+
m(s.and(v), () => {
|
|
9240
|
+
let e = B(r, P(N(g).clamp(N(0), N(c).sub(1)), N(_).clamp(N(0), N(l).sub(1)))), n = e.xyz, s = e.w, f = W(0).toVar(), m = W(0).toVar();
|
|
9241
|
+
for (let e = -1; e <= 1; e++) for (let n = -1; n <= 1; n++) {
|
|
9242
|
+
let r = B(t, P(u.add(n).clamp(N(0), N(c).sub(1)), d.add(e).clamp(N(0), N(l).sub(1)))).xyz;
|
|
9243
|
+
f.addAssign(r), m.addAssign(r.mul(r));
|
|
9250
9244
|
}
|
|
9251
|
-
|
|
9252
|
-
let
|
|
9253
|
-
|
|
9245
|
+
f.divAssign(9), m.divAssign(9);
|
|
9246
|
+
let v = A(I(m.sub(f.mul(f)), W(0)), W(1)), y = n.sub(f), b = A(y, y), x = v.mul(o.mul(o)), S = b.div(I(x, M(1e-6))).clamp(0, 1), C = L(n, p, L(I(M(1).div(s.add(1)), i), M(1), S)), w = L(oe(s.add(1), a), M(1), S);
|
|
9247
|
+
h.assign(G(C, w));
|
|
9254
9248
|
}).Else(() => {
|
|
9255
|
-
|
|
9249
|
+
h.assign(G(p, 1));
|
|
9256
9250
|
});
|
|
9257
|
-
}), xe(e, we(V(
|
|
9251
|
+
}), xe(e, we(V(u), V(d)), h).toWriteOnly();
|
|
9258
9252
|
});
|
|
9259
9253
|
})().compute([
|
|
9260
9254
|
this._dispatchX,
|
|
@@ -9312,7 +9306,7 @@ var bc = class extends wn {
|
|
|
9312
9306
|
this.on("asvgf:reset", () => this.resetTemporalData()), this.on("asvgf:setTemporal", (e) => {
|
|
9313
9307
|
e && e.enabled !== void 0 && (this.temporalEnabled = e.enabled, this.temporalEnabledU.value = +!!e.enabled);
|
|
9314
9308
|
}), this.on("asvgf:updateParameters", (e) => {
|
|
9315
|
-
e && (e.temporalAlpha !== void 0 && (this.temporalAlpha.value = e.temporalAlpha), e.
|
|
9309
|
+
e && (e.temporalAlpha !== void 0 && (this.temporalAlpha.value = e.temporalAlpha), e.phiColor !== void 0 && (this.phiColor.value = e.phiColor));
|
|
9316
9310
|
});
|
|
9317
9311
|
}
|
|
9318
9312
|
render(e) {
|
|
@@ -9320,9 +9314,9 @@ var bc = class extends wn {
|
|
|
9320
9314
|
let t = e.getTexture("pathtracer:color"), n = e.getTexture("pathtracer:normalDepth"), r = e.getTexture("motionVector:screenSpace");
|
|
9321
9315
|
if (!t) return;
|
|
9322
9316
|
let i = t.image;
|
|
9323
|
-
i && i.width > 0 && i.height > 0 && (i.width !== this._temporalTexA.image.width || i.height !== this._temporalTexA.image.height) && this.setSize(i.width, i.height), this._colorTexNode.value = t,
|
|
9324
|
-
let a = this.currentMoments === 0 ? this._temporalTexB : this._temporalTexA, o = this.currentMoments === 0 ? this.
|
|
9325
|
-
this._readTemporalTexNode.value = a, this.renderer.compute(
|
|
9317
|
+
i && i.width > 0 && i.height > 0 && (i.width !== this._temporalTexA.image.width || i.height !== this._temporalTexA.image.height) && this.setSize(i.width, i.height), this._colorTexNode.value = t, r && (this._motionTexNode.value = r), this._compiled ||= (this.renderer.compute(this._gradientNode), this.renderer.compute(this._temporalNodeA), this.renderer.compute(this._temporalNodeB), !0);
|
|
9318
|
+
let a = this.currentMoments === 0 ? this._temporalTexB : this._temporalTexA, o = this.currentMoments === 0 ? this._temporalNodeA : this._temporalNodeB, s = this.currentMoments === 0 ? this._temporalTexA : this._temporalTexB;
|
|
9319
|
+
this._readTemporalTexNode.value = a, this.renderer.compute(o), e.setTexture("asvgf:output", s), e.setTexture("asvgf:temporalColor", s), this.currentMoments = 1 - this.currentMoments, this.showHeatmap && (this.renderer.compute(this._gradientNode), this._heatmapRawColorTexNode.value = t, this._heatmapColorTexNode.value = s, this._heatmapTemporalTexNode.value = s, n && (this._heatmapNDTexNode.value = n), r && (this._heatmapMotionTexNode.value = r), this._heatmapGradientTexNode.value = this._gradientStorageTex, this.renderer.compute(this._heatmapComputeNode), this.renderer.copyTextureToTexture(this._heatmapStorageTex, this.heatmapTarget.texture), this.heatmapHelper.update()), this.frameCount++;
|
|
9326
9320
|
}
|
|
9327
9321
|
toggleHeatmap(e) {
|
|
9328
9322
|
this.showHeatmap = e, e ? this.heatmapHelper.show() : this.heatmapHelper.hide();
|
|
@@ -9331,13 +9325,13 @@ var bc = class extends wn {
|
|
|
9331
9325
|
this.temporalEnabled = e;
|
|
9332
9326
|
}
|
|
9333
9327
|
updateParameters(e) {
|
|
9334
|
-
e && (e.temporalAlpha !== void 0 && (this.temporalAlpha.value = e.temporalAlpha), e.
|
|
9328
|
+
e && (e.temporalAlpha !== void 0 && (this.temporalAlpha.value = e.temporalAlpha), e.phiColor !== void 0 && (this.phiColor.value = e.phiColor), e.debugMode !== void 0 && (this.debugMode.value = e.debugMode));
|
|
9335
9329
|
}
|
|
9336
9330
|
resetTemporalData() {
|
|
9337
9331
|
this.frameCount = 0, this.currentMoments = 0;
|
|
9338
9332
|
}
|
|
9339
9333
|
setSize(e, t) {
|
|
9340
|
-
this._temporalTexA.setSize(e, t), this._temporalTexB.setSize(e, t), this.
|
|
9334
|
+
this._temporalTexA.setSize(e, t), this._temporalTexB.setSize(e, t), this._gradientStorageTex.setSize(e, t), this._heatmapStorageTex.setSize(e, t), this.heatmapTarget.setSize(e, t), this.heatmapTarget.texture.needsUpdate = !0, this.resW.value = e, this.resH.value = t, this._dispatchX = Math.ceil(e / 8), this._dispatchY = Math.ceil(t / 8), this._gradientNode.dispatchSize = [
|
|
9341
9335
|
this._dispatchX,
|
|
9342
9336
|
this._dispatchY,
|
|
9343
9337
|
1
|
|
@@ -9357,7 +9351,7 @@ var bc = class extends wn {
|
|
|
9357
9351
|
}
|
|
9358
9352
|
reset() {}
|
|
9359
9353
|
dispose() {
|
|
9360
|
-
this._gradientNode?.dispose(), this._temporalNodeA?.dispose(), this._temporalNodeB?.dispose(), this._temporalTexA?.dispose(), this._temporalTexB?.dispose(), this.
|
|
9354
|
+
this._gradientNode?.dispose(), this._temporalNodeA?.dispose(), this._temporalNodeB?.dispose(), this._temporalTexA?.dispose(), this._temporalTexB?.dispose(), this._gradientStorageTex?.dispose(), this._heatmapComputeNode?.dispose(), this._heatmapStorageTex?.dispose(), this.heatmapTarget?.dispose(), this._colorTexNode?.dispose(), this._motionTexNode?.dispose(), this._readTemporalTexNode?.dispose(), this._heatmapRawColorTexNode?.dispose(), this._heatmapColorTexNode?.dispose(), this._heatmapTemporalTexNode?.dispose(), this._heatmapNDTexNode?.dispose(), this._heatmapMotionTexNode?.dispose(), this._heatmapGradientTexNode?.dispose(), this.heatmapHelper?.dispose();
|
|
9361
9355
|
}
|
|
9362
9356
|
}, xc = /* @__PURE__ */ K("\n fn temporalAccumulate(\n lum: f32,\n prevMean: f32,\n prevMeanSq: f32,\n alpha: f32,\n spatialVariance: f32,\n varianceBoost: f32\n ) -> vec4f {\n\n let newMean = prevMean + ( lum - prevMean ) * alpha;\n let newMeanSq = prevMeanSq + ( lum * lum - prevMeanSq ) * alpha;\n let temporalVariance = max( newMeanSq - newMean * newMean, 0.0 );\n\n return vec4f(\n newMean,\n newMeanSq,\n temporalVariance * varianceBoost,\n spatialVariance * varianceBoost\n );\n\n }\n"), Sc = class extends wn {
|
|
9363
9357
|
constructor(e, t = {}) {
|
|
@@ -11925,19 +11919,23 @@ var ol = new Map([
|
|
|
11925
11919
|
[Oe, rl],
|
|
11926
11920
|
[Ae, il],
|
|
11927
11921
|
[lt, al]
|
|
11928
|
-
]), sl = 1 / 2.2
|
|
11929
|
-
function
|
|
11922
|
+
]), sl = 1 / 2.2;
|
|
11923
|
+
function cl(e) {
|
|
11924
|
+
return e <= .0031308 ? 12.92 * e : 1.055 * e ** (1 / 2.4) - .055;
|
|
11925
|
+
}
|
|
11926
|
+
var ll = .2126, ul = .7152, dl = .0722;
|
|
11927
|
+
function fl(e, t) {
|
|
11930
11928
|
if (t === 1) return;
|
|
11931
|
-
let n = e[0] *
|
|
11929
|
+
let n = e[0] * ll + e[1] * ul + e[2] * dl;
|
|
11932
11930
|
e[0] = n + (e[0] - n) * t, e[1] = n + (e[1] - n) * t, e[2] = n + (e[2] - n) * t;
|
|
11933
11931
|
}
|
|
11934
11932
|
//#endregion
|
|
11935
11933
|
//#region src/Passes/OIDNDenoiser.js
|
|
11936
|
-
var
|
|
11937
|
-
async function
|
|
11938
|
-
return
|
|
11934
|
+
var pl = null;
|
|
11935
|
+
async function ml() {
|
|
11936
|
+
return pl ||= (await import("oidn-web")).initUNetFromURL, pl;
|
|
11939
11937
|
}
|
|
11940
|
-
var
|
|
11938
|
+
var hl = new Float32Array(3), gl = {
|
|
11941
11939
|
BASE_URL: "https://cdn.jsdelivr.net/npm/denoiser/tzas/",
|
|
11942
11940
|
QUALITY_SUFFIXES: {
|
|
11943
11941
|
fast: "_small",
|
|
@@ -11950,7 +11948,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
11950
11948
|
debugGbufferMaps: !0,
|
|
11951
11949
|
tileSize: 256
|
|
11952
11950
|
}
|
|
11953
|
-
},
|
|
11951
|
+
}, _l = class extends Ke {
|
|
11954
11952
|
constructor(e, t, n, r, i = {}) {
|
|
11955
11953
|
if (super(), !e || !t || !n || !r) throw Error("OIDNDenoiser requires output canvas, renderer, scene, and camera");
|
|
11956
11954
|
this.renderer = t, this.scene = n, this.camera = r, this.input = t.domElement, this.output = e, this.debugContainer = i.debugContainer || null, this.extractGBufferData = i.extractGBufferData || null, this.getMRTRenderTarget = i.getMRTRenderTarget || null, this.backendParamsGetter = i.backendParams || null, this.getGPUTextures = i.getGPUTextures || null, this.getExposure = i.getExposure || (() => 1), this.getToneMapping = i.getToneMapping || (() => Oe), this.getSaturation = i.getSaturation || (() => 1), this.getTransparentBackground = i.getTransparentBackground || (() => !1), this.isGPUMode = !!this.backendParamsGetter, this.gpuDevice = null, this._gpuInputBuffers = {
|
|
@@ -11961,7 +11959,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
11961
11959
|
width: 0,
|
|
11962
11960
|
height: 0
|
|
11963
11961
|
}, this._gpuInputPadBuffer = null, this._gpuInputPaddedRowBytes = 0, this._alphaReadbackBuffer = null, this._alphaReadbackMapped = !1, this._cachedAlpha = null, this._cachedAlphaWidth = 0, this.config = {
|
|
11964
|
-
...
|
|
11962
|
+
...gl.DEFAULT_OPTIONS,
|
|
11965
11963
|
...i
|
|
11966
11964
|
}, this.enabled = this.config.enableOIDN, this.quality = this.config.oidnQuality, this.debugGbufferMaps = this.config.debugGbufferMaps, this.tileSize = this.config.tileSize, this.state = {
|
|
11967
11965
|
isDenoising: !1,
|
|
@@ -12017,7 +12015,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
12017
12015
|
let e = this.backendParamsGetter();
|
|
12018
12016
|
this.gpuDevice = e?.device ?? null, t = e?.device ? e : void 0;
|
|
12019
12017
|
}
|
|
12020
|
-
this.unet = await (await
|
|
12018
|
+
this.unet = await (await ml())(e, t, {
|
|
12021
12019
|
aux: !0,
|
|
12022
12020
|
hdr: !0,
|
|
12023
12021
|
maxTileSize: this.tileSize
|
|
@@ -12032,14 +12030,14 @@ var ml = new Float32Array(3), hl = {
|
|
|
12032
12030
|
}
|
|
12033
12031
|
}
|
|
12034
12032
|
_generateTzaUrl() {
|
|
12035
|
-
let { BASE_URL: e, QUALITY_SUFFIXES: t } =
|
|
12033
|
+
let { BASE_URL: e, QUALITY_SUFFIXES: t } = gl;
|
|
12036
12034
|
return `${e}rt_hdr_alb_nrm${t[this.quality] || ""}.tza`;
|
|
12037
12035
|
}
|
|
12038
12036
|
async updateConfiguration(e) {
|
|
12039
12037
|
Object.keys(e).some((t) => this.config[t] !== e[t]) && (Object.assign(this.config, e), this.quality = this.config.oidnQuality, this.debugGbufferMaps = this.config.debugGbufferMaps, this.tileSize = this.config.tileSize, await this._setupUNetDenoiser());
|
|
12040
12038
|
}
|
|
12041
12039
|
async updateQuality(e) {
|
|
12042
|
-
if (!Object.prototype.hasOwnProperty.call(
|
|
12040
|
+
if (!Object.prototype.hasOwnProperty.call(gl.QUALITY_SUFFIXES, e)) throw Error(`Invalid quality setting: ${e}. Must be one of: ${Object.keys(gl.QUALITY_SUFFIXES).join(", ")}`);
|
|
12043
12041
|
await this.updateConfiguration({ oidnQuality: e });
|
|
12044
12042
|
}
|
|
12045
12043
|
async start() {
|
|
@@ -12229,7 +12227,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
12229
12227
|
let e = new Float32Array(u.getMappedRange()), t = new ImageData(o, s), r = this.getExposure(), i = this.getSaturation(), a = ol.get(this.getToneMapping()) || ol.get(Oe), c = this._cachedAlpha, l = this._cachedAlphaWidth;
|
|
12230
12228
|
for (let s = 0, u = e.length; s < u; s += 4) {
|
|
12231
12229
|
let u = e[s] * r, d = e[s + 1] * r, f = e[s + 2] * r;
|
|
12232
|
-
if (i !== 1 && (
|
|
12230
|
+
if (i !== 1 && (hl[0] = u, hl[1] = d, hl[2] = f, fl(hl, i), u = hl[0], d = hl[1], f = hl[2]), a(u, d, f, 1, hl), t.data[s] = cl(hl[0]) * 255 + .5 | 0, t.data[s + 1] = cl(hl[1]) * 255 + .5 | 0, t.data[s + 2] = cl(hl[2]) * 255 + .5 | 0, c) {
|
|
12233
12231
|
let e = (s >> 2) % o, r = (s >> 2) / o | 0;
|
|
12234
12232
|
t.data[s + 3] = c[(n.y + r) * l + n.x + e];
|
|
12235
12233
|
} else t.data[s + 3] = 255;
|
|
@@ -12259,7 +12257,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
12259
12257
|
let s = new Float32Array(a.getMappedRange()), c = new ImageData(t, n), l = this.getExposure(), u = this.getSaturation(), d = ol.get(this.getToneMapping()) || ol.get(Oe), f = this._cachedAlpha;
|
|
12260
12258
|
for (let e = 0, t = s.length; e < t; e += 4) {
|
|
12261
12259
|
let t = s[e] * l, n = s[e + 1] * l, r = s[e + 2] * l;
|
|
12262
|
-
u !== 1 && (
|
|
12260
|
+
u !== 1 && (hl[0] = t, hl[1] = n, hl[2] = r, fl(hl, u), t = hl[0], n = hl[1], r = hl[2]), d(t, n, r, 1, hl), c.data[e] = cl(hl[0]) * 255 + .5 | 0, c.data[e + 1] = cl(hl[1]) * 255 + .5 | 0, c.data[e + 2] = cl(hl[2]) * 255 + .5 | 0, c.data[e + 3] = f ? f[e >> 2] : 255;
|
|
12263
12261
|
}
|
|
12264
12262
|
a.unmap(), this.ctx.putImageData(c, 0, 0);
|
|
12265
12263
|
} finally {
|
|
@@ -12311,19 +12309,19 @@ var ml = new Float32Array(3), hl = {
|
|
|
12311
12309
|
dispose() {
|
|
12312
12310
|
this.abort(), this._destroyPendingStagingBuffers(), this.unet?.dispose(), this._destroyGPUInputBuffers(), this.debugHelpers &&= (this.debugHelpers.albedo?.dispose(), this.debugHelpers.normal?.dispose(), null), this._lastAlbedoTexture = null, this._lastNormalTexture = null, this.output?.parentNode && this.output.remove(), this.unet = null, this.ctx = null, this.state.abortController = null, this.removeAllListeners?.(), console.log("OIDNDenoiser disposed");
|
|
12313
12311
|
}
|
|
12314
|
-
},
|
|
12312
|
+
}, vl = "" + new URL("assets/AIUpscalerWorker-D58dcMrY.js", import.meta.url).href, yl = "https://huggingface.co/notaneimu/onnx-image-models/resolve/main/", bl = {
|
|
12315
12313
|
QUALITY_PRESETS: {
|
|
12316
12314
|
fast: {
|
|
12317
|
-
2:
|
|
12318
|
-
4:
|
|
12315
|
+
2: yl + "2x-spanx2-ch48.onnx",
|
|
12316
|
+
4: yl + "4xNomos8k_span_otf_strong_fp32_opset17.onnx"
|
|
12319
12317
|
},
|
|
12320
12318
|
balanced: {
|
|
12321
|
-
2:
|
|
12322
|
-
4:
|
|
12319
|
+
2: yl + "2xNomosUni_compact_otf_medium.onnx",
|
|
12320
|
+
4: yl + "RealESRGAN_x4plus.onnx"
|
|
12323
12321
|
},
|
|
12324
12322
|
quality: {
|
|
12325
|
-
2:
|
|
12326
|
-
4:
|
|
12323
|
+
2: yl + "2x-realesrgan-x2plus.onnx",
|
|
12324
|
+
4: yl + "4xNomos2_hq_mosr_fp32.onnx"
|
|
12327
12325
|
}
|
|
12328
12326
|
},
|
|
12329
12327
|
TILE_SIZE: 512,
|
|
@@ -12335,17 +12333,17 @@ var ml = new Float32Array(3), hl = {
|
|
|
12335
12333
|
}],
|
|
12336
12334
|
graphOptimizationLevel: "all"
|
|
12337
12335
|
}
|
|
12338
|
-
},
|
|
12336
|
+
}, xl = class extends Ke {
|
|
12339
12337
|
constructor(e, t, n = {}) {
|
|
12340
12338
|
if (super(), !e || !t) throw Error("AIUpscaler requires output canvas and renderer");
|
|
12341
|
-
this.renderer = t, this.input = t.domElement, this.output = e, this.getSourceCanvas = n.getSourceCanvas || null, this.getGPUTextures = n.getGPUTextures || null, this.getExposure = n.getExposure || (() => 1), this.getToneMapping = n.getToneMapping || (() => Oe), this.getSaturation = n.getSaturation || (() => 1), this.enabled = !1, this.hdr = !1, this.scaleFactor = n.scaleFactor || 2, this.quality = n.quality || "fast", this.tileSize = n.tileSize ||
|
|
12339
|
+
this.renderer = t, this.input = t.domElement, this.output = e, this.getSourceCanvas = n.getSourceCanvas || null, this.getGPUTextures = n.getGPUTextures || null, this.getExposure = n.getExposure || (() => 1), this.getToneMapping = n.getToneMapping || (() => Oe), this.getSaturation = n.getSaturation || (() => 1), this.enabled = !1, this.hdr = !1, this.scaleFactor = n.scaleFactor || 2, this.quality = n.quality || "fast", this.tileSize = n.tileSize || bl.TILE_SIZE, this._tileSizeOverride = !!n.tileSize, this.state = {
|
|
12342
12340
|
isUpscaling: !1,
|
|
12343
12341
|
isLoading: !1,
|
|
12344
12342
|
abortController: null
|
|
12345
12343
|
}, this._worker = null, this._currentModelUrl = null, this._tileId = 0, this._pendingWorkerHandlers = /* @__PURE__ */ new Set(), this._upscaledAlpha = null, this._upscaledAlphaWidth = 0, this._backupCanvas = null, this._baseWidth = e.width, this._baseHeight = e.height, this._hdrStagingBuffer = null, this._hdrStagingWidth = 0, this._hdrStagingHeight = 0;
|
|
12346
12344
|
}
|
|
12347
12345
|
async _ensureSession() {
|
|
12348
|
-
let e =
|
|
12346
|
+
let e = bl.QUALITY_PRESETS[this.quality];
|
|
12349
12347
|
if (!e) throw Error(`Unknown quality preset: ${this.quality}`);
|
|
12350
12348
|
let t = e[this.scaleFactor];
|
|
12351
12349
|
if (!t) throw Error(`No model for ${this.quality}/${this.scaleFactor}x`);
|
|
@@ -12356,10 +12354,10 @@ var ml = new Float32Array(3), hl = {
|
|
|
12356
12354
|
});
|
|
12357
12355
|
try {
|
|
12358
12356
|
if (!this._worker) try {
|
|
12359
|
-
this._worker = new Worker(
|
|
12357
|
+
this._worker = new Worker(vl, { type: "module" });
|
|
12360
12358
|
} catch (e) {
|
|
12361
12359
|
if (e.name !== "SecurityError") throw e;
|
|
12362
|
-
this._worker = await cr(
|
|
12360
|
+
this._worker = await cr(vl);
|
|
12363
12361
|
}
|
|
12364
12362
|
await new Promise((e, n) => {
|
|
12365
12363
|
let r = (t) => {
|
|
@@ -12368,7 +12366,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
12368
12366
|
this._worker.addEventListener("message", r), this._worker.postMessage({
|
|
12369
12367
|
type: "load",
|
|
12370
12368
|
url: t,
|
|
12371
|
-
sessionOptions:
|
|
12369
|
+
sessionOptions: bl.SESSION_OPTIONS
|
|
12372
12370
|
});
|
|
12373
12371
|
}), this._currentModelUrl = t, this.dispatchEvent({ type: "loaded" });
|
|
12374
12372
|
} catch (e) {
|
|
@@ -12436,7 +12434,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
12436
12434
|
alpha: !0
|
|
12437
12435
|
});
|
|
12438
12436
|
this._cacheUpscaledAlpha(t, n * i, r * i), t.isHDR && (this._hdrToneMapFn = ol.get(this.getToneMapping()) || ol.get(Oe), this._hdrExposure = this.getExposure(), this._hdrSaturation = this.getSaturation(), this._tmOut = new Float32Array(3));
|
|
12439
|
-
let o =
|
|
12437
|
+
let o = bl.TILE_OVERLAP, s = this.tileSize, c = s - o * 2, l = Math.ceil(n / c), u = Math.ceil(r / c), d = l * u, f = 0;
|
|
12440
12438
|
for (let o = 0; o < u; o++) for (let u = 0; u < l; u++) {
|
|
12441
12439
|
if (e.aborted) throw new DOMException("Aborted", "AbortError");
|
|
12442
12440
|
let l = Math.min(u * c, Math.max(0, n - s)), p = Math.min(o * c, Math.max(0, r - s)), m = Math.min(s, n - l), h = Math.min(s, r - p), g = this._extractTile(t, l, p, m, h), _ = await this._inferTile(g, m, h), v = l * i, y = p * i, b = m * i, x = h * i, S = this._tensorToImageData(_, b, x, v, y);
|
|
@@ -12509,7 +12507,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
12509
12507
|
let u = ((n + e) * o + (t + i)) * 4, d = e * r + i;
|
|
12510
12508
|
if (s) {
|
|
12511
12509
|
let e = this._hdrToneMapFn, t = this._hdrExposure, n = this._hdrSaturation, r = a[u] * t, i = a[u + 1] * t, o = a[u + 2] * t;
|
|
12512
|
-
n !== 1 && (this._tmOut[0] = r, this._tmOut[1] = i, this._tmOut[2] = o,
|
|
12510
|
+
n !== 1 && (this._tmOut[0] = r, this._tmOut[1] = i, this._tmOut[2] = o, fl(this._tmOut, n), r = this._tmOut[0], i = this._tmOut[1], o = this._tmOut[2]), e(r, i, o, 1, this._tmOut), l[d] = this._tmOut[0] ** +sl, l[c + d] = this._tmOut[1] ** +sl, l[2 * c + d] = this._tmOut[2] ** +sl;
|
|
12513
12511
|
} else l[d] = a[u] / 255, l[c + d] = a[u + 1] / 255, l[2 * c + d] = a[u + 2] / 255;
|
|
12514
12512
|
}
|
|
12515
12513
|
return l;
|
|
@@ -12570,7 +12568,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
12570
12568
|
let { data: n, width: r, height: i } = e, a = t.createImageData(r, i), o = a.data, s = ol.get(this.getToneMapping()) || ol.get(Oe), c = this.getExposure(), l = this.getSaturation(), u = new Float32Array(3);
|
|
12571
12569
|
for (let e = 0, t = r * i; e < t; e++) {
|
|
12572
12570
|
let t = e * 4, r = n[t] * c, i = n[t + 1] * c, a = n[t + 2] * c;
|
|
12573
|
-
l !== 1 && (u[0] = r, u[1] = i, u[2] = a,
|
|
12571
|
+
l !== 1 && (u[0] = r, u[1] = i, u[2] = a, fl(u, l), r = u[0], i = u[1], a = u[2]), s(r, i, a, 1, u), o[t] = u[0] ** +sl * 255 + .5 | 0, o[t + 1] = u[1] ** +sl * 255 + .5 | 0, o[t + 2] = u[2] ** +sl * 255 + .5 | 0, o[t + 3] = 255;
|
|
12574
12572
|
}
|
|
12575
12573
|
t.putImageData(a, 0, 0);
|
|
12576
12574
|
} else t.putImageData(e, 0, 0);
|
|
@@ -12582,7 +12580,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
12582
12580
|
this.hdr = !!e;
|
|
12583
12581
|
}
|
|
12584
12582
|
setQuality(e) {
|
|
12585
|
-
if (!
|
|
12583
|
+
if (!bl.QUALITY_PRESETS[e]) {
|
|
12586
12584
|
console.warn(`AIUpscaler: Invalid quality "${e}", must be fast/balanced/quality`);
|
|
12587
12585
|
return;
|
|
12588
12586
|
}
|
|
@@ -12605,7 +12603,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
12605
12603
|
async dispose() {
|
|
12606
12604
|
this.abort(), this._cleanupPendingWorkerHandlers(), this._worker &&= (this._worker.postMessage({ type: "dispose" }), this._worker.terminate(), null), this._currentModelUrl = null, this._backupCanvas = null, this._upscaledAlpha = null, this.state.abortController = null, this._hdrStagingBuffer?.destroy(), this._hdrStagingBuffer = null, this._hdrStagingWidth = 0, this._hdrStagingHeight = 0, console.log("AIUpscaler disposed");
|
|
12607
12605
|
}
|
|
12608
|
-
},
|
|
12606
|
+
}, Sl = class extends Ke {
|
|
12609
12607
|
constructor({ renderer: e, mainCanvas: t, scene: n, camera: r, stages: i, pipeline: a, getExposure: o, getSaturation: s, getTransparentBg: c }) {
|
|
12610
12608
|
super(), this.renderer = e, this.mainCanvas = t, this.denoiserCanvas = this._createDenoiserCanvas(t), this.scene = n, this.camera = r, this.pipeline = a, this._stages = i, this._getExposure = o, this._getSaturation = s, this._getTransparentBg = c, this.denoiser = null, this.upscaler = null, this._lastRenderWidth = 0, this._lastRenderHeight = 0, this._pendingStartUpscaler = null, this._denoiserStartHandler = null, this._denoiserEndHandler = null, this._upscalerResChangedHandler = null, this._upscalerStartHandler = null, this._upscalerProgressHandler = null, this._upscalerEndHandler = null;
|
|
12611
12609
|
}
|
|
@@ -12626,7 +12624,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
12626
12624
|
setupDenoiser() {
|
|
12627
12625
|
if (!this.denoiserCanvas) return;
|
|
12628
12626
|
let e = this._stages.pathTracer;
|
|
12629
|
-
this.denoiser = new
|
|
12627
|
+
this.denoiser = new _l(this.denoiserCanvas, this.renderer, this.scene, this.camera, {
|
|
12630
12628
|
...X,
|
|
12631
12629
|
backendParams: () => ({
|
|
12632
12630
|
device: this.renderer.backend.device,
|
|
@@ -12651,7 +12649,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
12651
12649
|
setupUpscaler() {
|
|
12652
12650
|
if (!this.denoiserCanvas) return;
|
|
12653
12651
|
let e = this._stages.pathTracer;
|
|
12654
|
-
this.upscaler = new
|
|
12652
|
+
this.upscaler = new xl(this.denoiserCanvas, this.renderer, {
|
|
12655
12653
|
scaleFactor: X.upscalerScale || 2,
|
|
12656
12654
|
quality: X.upscalerQuality || "fast",
|
|
12657
12655
|
getSourceCanvas: () => this.denoiser?.enabled ? null : this.renderer.domElement,
|
|
@@ -12812,7 +12810,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
12812
12810
|
let t = Hn[e];
|
|
12813
12811
|
t && this._stages.asvgf?.updateParameters(t);
|
|
12814
12812
|
}
|
|
12815
|
-
},
|
|
12813
|
+
}, Cl = class {
|
|
12816
12814
|
constructor() {
|
|
12817
12815
|
this.layer = "hud", this.visible = !1, this._tileBounds = null, this._imageWidth = 1, this._imageHeight = 1, this.enabled = !0, this._borderColor = "rgba(255, 0, 0, 0.6)", this._borderWidth = 2;
|
|
12818
12816
|
}
|
|
@@ -12836,7 +12834,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
12836
12834
|
dispose() {
|
|
12837
12835
|
this.visible = !1;
|
|
12838
12836
|
}
|
|
12839
|
-
},
|
|
12837
|
+
}, wl = class {
|
|
12840
12838
|
constructor(n, r, i) {
|
|
12841
12839
|
this.layer = "scene", this.visible = !0, this._outlineNode = Jt(r, i, {
|
|
12842
12840
|
selectedObjects: [],
|
|
@@ -12870,7 +12868,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
12870
12868
|
dispose() {
|
|
12871
12869
|
this.visible = !1, this._outlineNode?.dispose(), this._material?.dispose(), this._quad = null;
|
|
12872
12870
|
}
|
|
12873
|
-
},
|
|
12871
|
+
}, Tl = class {
|
|
12874
12872
|
constructor(e, t) {
|
|
12875
12873
|
this.renderer = e, this.camera = t, this._helpers = /* @__PURE__ */ new Map(), this._hudCanvas = document.createElement("canvas"), this._hudCanvas.style.cssText = "position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;", this._hudCtx = this._hudCanvas.getContext("2d"), this._helperScene = null;
|
|
12876
12874
|
}
|
|
@@ -12882,13 +12880,13 @@ var ml = new Float32Array(3), hl = {
|
|
|
12882
12880
|
}
|
|
12883
12881
|
setupDefaultHelpers({ helperScene: e, meshScene: t, pipeline: n, denoisingManager: r, app: i, renderWidth: a, renderHeight: o }) {
|
|
12884
12882
|
this.setHelperScene(e);
|
|
12885
|
-
let s = new
|
|
12883
|
+
let s = new Cl();
|
|
12886
12884
|
this.register("tiles", s), s.setRenderSize(a || 1, o || 1), i.addEventListener("resolution_changed", (e) => {
|
|
12887
12885
|
s.setRenderSize(e.width, e.height);
|
|
12888
12886
|
}), n.eventBus.on("tile:changed", (e) => {
|
|
12889
12887
|
e.renderMode === 1 && e.tileBounds && (s.setActiveTile(e.tileBounds), s.show());
|
|
12890
12888
|
}), n.eventBus.on("pipeline:reset", () => s.hide()), i.addEventListener(Y.RENDER_COMPLETE, () => s.hide()), this._wireDenoiserTileEvents(s, r);
|
|
12891
|
-
let c = new
|
|
12889
|
+
let c = new wl(this.renderer, t, this.camera);
|
|
12892
12890
|
this.register("outline", c);
|
|
12893
12891
|
}
|
|
12894
12892
|
_wireDenoiserTileEvents(e, t) {
|
|
@@ -12955,7 +12953,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
12955
12953
|
for (let e of this._helpers.values()) e.dispose?.();
|
|
12956
12954
|
this._helpers.clear(), this._hudCanvas.parentElement && this._hudCanvas.parentElement.removeChild(this._hudCanvas);
|
|
12957
12955
|
}
|
|
12958
|
-
},
|
|
12956
|
+
}, El = class extends Ke {
|
|
12959
12957
|
constructor() {
|
|
12960
12958
|
super(), this.mixer = null, this.timer = new At(), this.actions = [], this.isPlaying = !1, this._scene = null, this._mixerRoot = null, this._meshes = null, this._meshTriRanges = null, this._posBuffer = null, this._tempVec = new Pt(), this._skinnedCache = null, this._totalTriangleCount = 0, this._clipsCache = null, this._savedTimeScale = 1, this.onFinished = null, this.wakeCallback = null;
|
|
12961
12959
|
}
|
|
@@ -13055,7 +13053,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
13055
13053
|
dispose() {
|
|
13056
13054
|
this.mixer &&= (this.mixer.stopAllAction(), this.mixer.uncacheRoot(this._mixerRoot), null), this.actions = [], this.isPlaying = !1, this.timer.reset(), this._scene = null, this._mixerRoot = null, this._meshes = null, this._meshTriRanges = null, this._posBuffer = null, this._skinnedCache = null, this._clipsCache = null;
|
|
13057
13055
|
}
|
|
13058
|
-
},
|
|
13056
|
+
}, Dl = class {
|
|
13059
13057
|
constructor({ camera: e, canvas: t, orbitControls: n, app: r }) {
|
|
13060
13058
|
this._app = r, this._orbitControls = n, this._camera = e, this._controls = new Yt(e, t), this._gizmoScene = new Tt(), this._gizmoScene.add(this._controls.getHelper()), this._attached = null, this._isDragging = !1, this._meshes = null, this._meshTriRanges = null, this._posBuffer = null, this._normalBuffer = null, this._skinnedCache = null, this._normalCache = null, this._tempVec = new Pt(), this._normalMatrix = new nt(), this._refitInFlight = !1, this._baselineComputed = !1, this._onDraggingChanged = this._onDraggingChanged.bind(this), this._onObjectChange = this._onObjectChange.bind(this), this._controls.addEventListener("dragging-changed", this._onDraggingChanged), this._controls.addEventListener("objectChange", this._onObjectChange);
|
|
13061
13059
|
}
|
|
@@ -13166,15 +13164,15 @@ var ml = new Float32Array(3), hl = {
|
|
|
13166
13164
|
dispose() {
|
|
13167
13165
|
this._controls.removeEventListener("dragging-changed", this._onDraggingChanged), this._controls.removeEventListener("objectChange", this._onObjectChange), this.detach(), this._gizmoScene.remove(this._controls.getHelper()), this._controls.dispose(), this._meshes = null, this._meshTriRanges = null, this._posBuffer = null, this._normalBuffer = null, this._skinnedCache = null, this._normalCache = null, this._baselineComputed = !1, this._app = null, this._orbitControls = null, this._camera = null, this._controls = null, this._gizmoScene = null;
|
|
13168
13166
|
}
|
|
13169
|
-
},
|
|
13167
|
+
}, Ol = /* @__PURE__ */ new WeakMap(), kl = class extends Ke {
|
|
13170
13168
|
constructor(e, t = {}) {
|
|
13171
13169
|
super();
|
|
13172
13170
|
try {
|
|
13173
|
-
|
|
13171
|
+
Ol.get(e)?.dispose();
|
|
13174
13172
|
} catch (e) {
|
|
13175
13173
|
console.warn("PathTracerApp: prior canvas owner dispose failed", e);
|
|
13176
13174
|
}
|
|
13177
|
-
|
|
13175
|
+
Ol.set(e, this), this.canvas = e, this._autoResize = t.autoResize !== !1, this._showStats = t.showStats !== !1, this._statsContainer = t.statsContainer || null, this.settings = new Yc(X), this.renderer = null, this.scene = null, this.meshScene = null, this._sceneHelpers = null, this.assetLoader = null, this._sdf = null, this._animRefitInFlight = !1, this.pipeline = null, this.stages = {}, this.cameraManager = null, this.lightManager = null, this.denoisingManager = null, this.overlayManager = null, this.interactionManager = null, this.transformManager = null, this.animationManager = new El(), this.environmentManager = null, this.isInitialized = !1, this.pauseRendering = !1, this.pathTracerEnabled = !0, this.animationManagerId = null, this.needsReset = !1, this._loadingInProgress = !1, this._needsDisplayRefresh = !1, this._paused = !1, this.completion = new Uc(), this._resizeDebounceTimer = null, this._trackedListeners = [], this._disposed = !1;
|
|
13178
13176
|
}
|
|
13179
13177
|
_addTrackedListener(e, t, n) {
|
|
13180
13178
|
e && (e.addEventListener(t, n), this._trackedListeners.push({
|
|
@@ -13480,7 +13478,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
13480
13478
|
assetLoader: this.assetLoader,
|
|
13481
13479
|
pathTracer: null,
|
|
13482
13480
|
floorPlane: this.assetLoader.floorPlane
|
|
13483
|
-
}), this.interactionManager.wireAppEvents(this), this.cameraManager.setInteractionManager(this.interactionManager), this.lightManager = new Zc(this.scene, this._sceneHelpers, this.stages.pathTracer, { onReset: () => this.reset() }), this._setupDenoisingManager(), this._setupOverlayManager(), this.transformManager = new
|
|
13481
|
+
}), this.interactionManager.wireAppEvents(this), this.cameraManager.setInteractionManager(this.interactionManager), this.lightManager = new Zc(this.scene, this._sceneHelpers, this.stages.pathTracer, { onReset: () => this.reset() }), this._setupDenoisingManager(), this._setupOverlayManager(), this.transformManager = new Dl({
|
|
13484
13482
|
camera: this.cameraManager.camera,
|
|
13485
13483
|
canvas: this.canvas,
|
|
13486
13484
|
orbitControls: this.cameraManager.controls,
|
|
@@ -13557,7 +13555,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
13557
13555
|
}), this.stages.edgeFilter = new Oc(this.renderer, { enabled: !1 }), this.stages.autoExposure = new Fc(this.renderer, { enabled: X.autoExposure ?? !1 }), this.stages.compositor = new zc(this.renderer, { saturation: this.settings.get("saturation") ?? X.saturation });
|
|
13558
13556
|
}
|
|
13559
13557
|
_setupDenoisingManager() {
|
|
13560
|
-
this.denoisingManager = new
|
|
13558
|
+
this.denoisingManager = new Sl({
|
|
13561
13559
|
renderer: this.renderer,
|
|
13562
13560
|
mainCanvas: this.canvas,
|
|
13563
13561
|
scene: this.scene,
|
|
@@ -13609,7 +13607,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
13609
13607
|
this.scene.updateMatrixWorld(), this.overlayManager?.render(), this.transformManager?.render(this.renderer);
|
|
13610
13608
|
}
|
|
13611
13609
|
_setupOverlayManager() {
|
|
13612
|
-
this.overlayManager = new
|
|
13610
|
+
this.overlayManager = new Tl(this.renderer, this.cameraManager.camera), this.overlayManager.setupDefaultHelpers({
|
|
13613
13611
|
helperScene: this._sceneHelpers,
|
|
13614
13612
|
meshScene: this.meshScene,
|
|
13615
13613
|
pipeline: this.pipeline,
|
|
@@ -13625,7 +13623,7 @@ var ml = new Float32Array(3), hl = {
|
|
|
13625
13623
|
_forwardEvents(e, t) {
|
|
13626
13624
|
if (e) for (let n of t) this._addTrackedListener(e, n, (e) => this.dispatchEvent(e));
|
|
13627
13625
|
}
|
|
13628
|
-
},
|
|
13626
|
+
}, Al = class {
|
|
13629
13627
|
constructor(e) {
|
|
13630
13628
|
this._app = e, this._cancelled = !1, this._rendering = !1;
|
|
13631
13629
|
}
|
|
@@ -13725,6 +13723,6 @@ var ml = new Float32Array(3), hl = {
|
|
|
13725
13723
|
}
|
|
13726
13724
|
};
|
|
13727
13725
|
//#endregion
|
|
13728
|
-
export { qn as AF_DEFAULTS, Hn as ASVGF_QUALITY_PRESETS, Kn as AUTO_FOCUS_MODES,
|
|
13726
|
+
export { qn as AF_DEFAULTS, Hn as ASVGF_QUALITY_PRESETS, Kn as AUTO_FOCUS_MODES, El as AnimationManager, Jn as BVH_LEAF_MARKERS, Gn as CAMERA_PRESETS, Un as CAMERA_RANGES, Xc as CameraManager, Xn as DEFAULT_TEXTURE_MATRIX, Sl as DenoisingManager, X as ENGINE_DEFAULTS, Y as EngineEvents, Zn as FINAL_RENDER_CONFIG, Wc as InteractionManager, Zc as LightManager, $n as MEMORY_CONSTANTS, Tl as OverlayManager, Qn as PREVIEW_RENDER_CONFIG, kl as PathTracerApp, Bc as PipelineContext, Hc as RenderPipeline, Yc as RenderSettings, wn as RenderStage, Wn as SKY_PRESETS, Cn as StageExecutionMode, Yn as TEXTURE_CONSTANTS, Z as TRIANGLE_DATA_LAYOUT, Dl as TransformManager, Al as VideoRenderManager };
|
|
13729
13727
|
|
|
13730
13728
|
//# sourceMappingURL=rayzee.es.js.map
|