rayzee 11.2.1 → 11.4.0

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.
Files changed (76) hide show
  1. package/README.md +91 -34
  2. package/dist/ArchiveImporter-Cgyx5AF7.js +7860 -0
  3. package/dist/BidirectionalIntegrator-BKF-cwH2.js +954 -0
  4. package/dist/{BufferLayout-D_IBo2ci.js → BufferLayout-xPRH9jYD.js} +41 -5
  5. package/dist/{NeuralRetouch-Cr-otSW8.js → NeuralRetouch-C3Q2XqbF.js} +4 -3
  6. package/dist/{NeuralSuperRes-B7E3_M0t.js → NeuralSuperRes-DV5TtURP.js} +11 -5
  7. package/dist/{PathTracer-D6nbknj5.js → PathTracer-D3MvEaZK.js} +4384 -4618
  8. package/dist/{PhysicalSky-Dq5VSiCQ.js → PhysicalSky-CY4jiz6a.js} +2 -2
  9. package/dist/{RayzeeRenderer-DbjqO6v-.js → RayzeeRenderer-D23m6NqG.js} +486 -391
  10. package/dist/SolarLimb-bZE6y63S.js +762 -0
  11. package/dist/{ToneMapGPU-BOjpul7A.js → ToneMapGPU-CTDBvmmS.js} +31 -22
  12. package/dist/addons/archives.es.js +1 -1
  13. package/dist/addons/bidirectional.es.js +1 -1
  14. package/dist/addons/physical-sky.es.js +1 -1
  15. package/dist/rayzee-core.es.js +7 -7
  16. package/dist/rayzee.es.js +1327 -838
  17. package/dist/rayzee.umd.js +146 -134
  18. package/dist/sceneCachePolicy-AKOEu2lf.js +1602 -0
  19. package/package.json +1 -1
  20. package/src/EngineDefaults.js +2 -2
  21. package/src/Passes/AIUpscaler.js +2 -0
  22. package/src/PathTracerApp.js +126 -19
  23. package/src/Pipeline/CompletionTracker.js +7 -3
  24. package/src/Processor/ArchiveImporter.js +173 -94
  25. package/src/Processor/ArchiveReader.js +20 -23
  26. package/src/Processor/AssetLoader.js +48 -1
  27. package/src/Processor/BVHRefitter.js +109 -13
  28. package/src/Processor/BufferLayout.js +115 -0
  29. package/src/Processor/ChunkedRecords.js +3 -2
  30. package/src/Processor/EmissiveTriangleBuilder.js +6 -6
  31. package/src/Processor/GeometryExtractor.js +189 -79
  32. package/src/Processor/HostMemory.js +39 -9
  33. package/src/Processor/InstanceTable.js +714 -42
  34. package/src/Processor/PBRT/PBRTCurves.js +224 -6
  35. package/src/Processor/PBRT/PBRTMaterials.js +3 -0
  36. package/src/Processor/PBRT/PBRTSceneBuilder.js +82 -25
  37. package/src/Processor/PackedRayBuffer.js +5 -2
  38. package/src/Processor/SceneProcessor.js +747 -141
  39. package/src/Processor/TLASBuilder.js +32 -17
  40. package/src/Processor/ToneMapCPU.js +16 -4
  41. package/src/Processor/ToneMapGPU.js +30 -14
  42. package/src/Processor/USD/USDLayer.js +1149 -0
  43. package/src/Processor/USD/USDScene.js +1655 -0
  44. package/src/Processor/USD/USDStage.js +682 -0
  45. package/src/Processor/USD/USDText.js +674 -0
  46. package/src/Processor/USD/index.js +138 -0
  47. package/src/Processor/Workers/BVHRefitWorker.js +3 -3
  48. package/src/RayzeeRenderer.js +221 -33
  49. package/src/RenderSettings.js +4 -2
  50. package/src/Stages/AutoExposure.js +484 -494
  51. package/src/Stages/Compositor.js +27 -6
  52. package/src/Stages/LocalExposure.js +546 -0
  53. package/src/Stages/NormalDepth.js +7 -12
  54. package/src/Stages/PathTracer.js +18 -21
  55. package/src/Stages/PathTracerStage.js +282 -103
  56. package/src/Storage/GeometrySpill.js +46 -14
  57. package/src/Storage/SceneGraphCodec.js +17 -3
  58. package/src/Storage/SpillStore.js +9 -0
  59. package/src/TSL/BVHTraversal.js +183 -7
  60. package/src/TSL/Common.js +57 -13
  61. package/src/TSL/ShadeKernel.js +3 -2
  62. package/src/TSL/TextureSampling.js +11 -8
  63. package/src/TSL/patches.js +84 -0
  64. package/src/index.js +1 -0
  65. package/src/integrators/BidirectionalIntegrator.js +20 -2
  66. package/src/managers/DenoisingManager.js +15 -19
  67. package/src/managers/InteractionManager.js +19 -6
  68. package/src/managers/MaterialDataManager.js +22 -5
  69. package/src/managers/UniformManager.js +3 -0
  70. package/src/managers/VideoRenderManager.js +30 -4
  71. package/src/neural/NeuralRetouch.js +1 -0
  72. package/src/neural/NeuralSuperRes.js +6 -1
  73. package/dist/ArchiveImporter-D_x863yu.js +0 -5198
  74. package/dist/BidirectionalIntegrator-DmkxxEOR.js +0 -946
  75. package/dist/SolarLimb-CPaeZVwz.js +0 -721
  76. package/dist/sceneCachePolicy-C4-4qwt6.js +0 -485
@@ -137,14 +137,50 @@ var a = {
137
137
  }, o = (e) => Number.isFinite(e) && e > 0 ? e : 0, s = 1073741824, c = 1073741824, l = 1073741823, u = {
138
138
  TRIANGLE_LEAF: 1073741824,
139
139
  BLAS_POINTER_LEAF: 1073741825,
140
- FRONTIER: 1073741826
141
- }, d = 1 << 27;
142
- function f(e) {
140
+ FRONTIER: 1073741826,
141
+ CLUSTER_LEAF: 1073741827
142
+ }, d = 268435455, f = 1073741823, p = 2147483648, m = 1073741824, h = new Float32Array(1), g = new Uint32Array(h.buffer);
143
+ function _(e) {
144
+ let t = Math.fround(e);
145
+ return t <= e ? t : (h[0] = t, g[0] += t > 0 ? -1 : 1, h[0]);
146
+ }
147
+ function v(e, t) {
148
+ return Math.max(Math.abs(e), Math.abs(t), 1e-30) * 2 ** -21;
149
+ }
150
+ var y = [
151
+ 2,
152
+ 4,
153
+ 5
154
+ ];
155
+ function b(e, t, n, r, i, a, o) {
156
+ let s = 0;
157
+ for (let c = 0; c < 3; c++) {
158
+ let l = Infinity, u = -Infinity;
159
+ for (let e = 0; e < i; e++) l = Math.min(l, r[e * 6 + c]), u = Math.max(u, r[e * 6 + 3 + c]);
160
+ if (a && (a[o + c] = l, a[o + 3 + c] = u), !(l <= u)) {
161
+ e[n + y[c]] = S, t[n + 6 + c] = 0, t[n + 9 + c] = 0;
162
+ continue;
163
+ }
164
+ let d = v(l, u), f = _(l - d), p = Math.max(-126, Math.ceil(Math.log2((u + d - f) / 255)));
165
+ for (; Math.fround(f + 255 * 2 ** p) < u + d;) p++;
166
+ let m = 2 ** p;
167
+ e[n + y[c]] = f, s |= p + 127 << c * 8;
168
+ let h = 0, g = 0;
169
+ for (let e = 0; e < i; e++) {
170
+ let t = r[e * 6 + c], n = r[e * 6 + 3 + c], i = v(t, n);
171
+ h |= Math.max(0, Math.min(255, Math.floor((t - i - f) / m))) << e * 8, g |= Math.max(0, Math.min(255, Math.ceil((n + i - f) / m))) << e * 8;
172
+ }
173
+ t[n + 6 + c] = h >>> 0, t[n + 9 + c] = g >>> 0;
174
+ }
175
+ t[n + 1] = s >>> 0;
176
+ }
177
+ var x = 1 << 27, S = 1e30;
178
+ function C(e) {
143
179
  return new Uint32Array(e.buffer, e.byteOffset, e.length);
144
180
  }
145
- function p(e, t) {
181
+ function w(e, t) {
146
182
  if (e >= 1073741824) throw RangeError(`${t} is ${e.toLocaleString()}, at or past the BVH index limit of ${s.toLocaleString()}. Node indices are stored as u32 bit patterns and the leaf tags occupy everything above that.`);
147
183
  return e;
148
184
  }
149
185
  //#endregion
150
- export { c as a, t as c, o as d, i as f, a as i, p as l, n as m, u as n, l as o, r as p, s as r, e as s, d as t, f as u };
186
+ export { o as _, p as a, n as b, m as c, l as d, e as f, b as g, C as h, s as i, a as l, w as m, x as n, d as o, t as p, u as r, f as s, S as t, c as u, i as v, r as y };
@@ -1,7 +1,7 @@
1
- import { n as e } from "./BidirectionalIntegrator-DmkxxEOR.js";
1
+ import { n as e } from "./BidirectionalIntegrator-BKF-cwH2.js";
2
2
  import { r as t } from "./Logger-dDDGj9Av.js";
3
3
  import { n } from "./AssetConfig-DSEntE65.js";
4
- import { t as r } from "./ToneMapGPU-BOjpul7A.js";
4
+ import { t as r } from "./ToneMapGPU-CTDBvmmS.js";
5
5
  //#region src/neural/NeuralRetouch.js
6
6
  var i = /* @__PURE__ */ e({
7
7
  NeuralRetouch: () => m,
@@ -146,7 +146,8 @@ var f = "\n@group(0) @binding(0) var src: texture_2d<f32>;\n@group(0) @binding(1
146
146
  rgba8: await this._toneMapper.toRGBA8(this._hdrStorage, {
147
147
  exposure: e.exposure ?? 1,
148
148
  toneMapping: e.toneMapping ?? 0,
149
- saturation: e.saturation ?? 1
149
+ saturation: e.saturation ?? 1,
150
+ gain: e.gain
150
151
  }),
151
152
  width: t,
152
153
  height: n
@@ -1,8 +1,8 @@
1
- import { n as e } from "./BidirectionalIntegrator-DmkxxEOR.js";
1
+ import { n as e } from "./BidirectionalIntegrator-BKF-cwH2.js";
2
2
  import { t } from "./EngineEvents-Ci8dVWCP.js";
3
3
  import { r as n } from "./Logger-dDDGj9Av.js";
4
4
  import { n as r } from "./AssetConfig-DSEntE65.js";
5
- import { t as i } from "./ToneMapGPU-BOjpul7A.js";
5
+ import { t as i } from "./ToneMapGPU-CTDBvmmS.js";
6
6
  //#region src/neural/NeuralSuperRes.js
7
7
  var a = /* @__PURE__ */ e({
8
8
  NeuralSuperRes: () => g,
@@ -152,6 +152,7 @@ var g = class e {
152
152
  exposure: t.exposure ?? 1,
153
153
  toneMapping: t.toneMapping ?? 0,
154
154
  saturation: t.saturation ?? 1,
155
+ gain: t.gain,
155
156
  flipY: !0
156
157
  }),
157
158
  width: a,
@@ -190,6 +191,7 @@ async function v(e, { outputWidth: t, outputHeight: n, samples: r = 64, upscaler
190
191
  width: u?.width,
191
192
  height: u?.height,
192
193
  maxSamples: e.settings?.get?.("maxSamples"),
194
+ renderLimitMode: e.settings?.get?.("renderLimitMode"),
193
195
  finalDenoise: e.denoisingManager?.finalDenoise,
194
196
  paused: e.pauseRendering
195
197
  }, f = !i, p = i, m = {};
@@ -203,7 +205,10 @@ async function v(e, { outputWidth: t, outputHeight: n, samples: r = 64, upscaler
203
205
  }), m.load = performance.now() - e;
204
206
  } else if (p.inputWidth !== c || p.inputHeight !== l) throw Error(`renderUpscaled: upscaler is ${p.inputWidth}x${p.inputHeight}, need ${c}x${l}`);
205
207
  let i = performance.now();
206
- s(`Tracing ${c}x${l} at ${r} spp`), e.pauseRendering = !1, e.setCanvasSize(c, l), await new Promise((e) => setTimeout(e, 300)), e.denoisingManager.applyOIDNEnabled(!0), e.settings.set("maxSamples", r);
208
+ s(`Tracing ${c}x${l} at ${r} spp`), e.pauseRendering = !1, e.setCanvasSize(c, l), await new Promise((e) => setTimeout(e, 300)), e.denoisingManager.applyOIDNEnabled(!0), e.settings.setMany({
209
+ maxSamples: r,
210
+ renderLimitMode: "frames"
211
+ }, { reset: !1 });
207
212
  let u = _(e, r, a);
208
213
  e.reset(), await u, e.pauseRendering = !0, m.render = performance.now() - i, s("Reading the denoised frame");
209
214
  let d = performance.now(), f = await h(e.denoisingManager?.denoiser);
@@ -211,7 +216,8 @@ async function v(e, { outputWidth: t, outputHeight: n, samples: r = 64, upscaler
211
216
  let v = {
212
217
  exposure: e.renderer.toneMappingExposure,
213
218
  toneMapping: e.renderer.toneMapping,
214
- saturation: e.settings.get("saturation") ?? 1
219
+ saturation: e.settings.get("saturation") ?? 1,
220
+ gain: e._displayGain?.() ?? null
215
221
  }, { rgba8: b, width: x, height: S, ms: C, toneMs: w } = await p.upscaleToRGBA8(f, v);
216
222
  return m.upscale = C, m.tonemap = w, o && y(e.denoisingManager?.upscalerCanvas, b, x, S), {
217
223
  rgba8: b,
@@ -223,7 +229,7 @@ async function v(e, { outputWidth: t, outputHeight: n, samples: r = 64, upscaler
223
229
  } catch (e) {
224
230
  throw f && p?.dispose(), e;
225
231
  } finally {
226
- d.width && d.height && e.setCanvasSize(d.width, d.height), d.maxSamples !== void 0 && e.settings?.set?.("maxSamples", d.maxSamples), d.finalDenoise !== void 0 && e.denoisingManager?.applyOIDNEnabled(d.finalDenoise), e.pauseRendering = d.paused;
232
+ d.width && d.height && e.setCanvasSize(d.width, d.height), d.maxSamples !== void 0 && e.settings?.set?.("maxSamples", d.maxSamples), d.renderLimitMode !== void 0 && e.settings?.set?.("renderLimitMode", d.renderLimitMode, { reset: !1 }), d.finalDenoise !== void 0 && e.denoisingManager?.applyOIDNEnabled(d.finalDenoise), e.pauseRendering = d.paused;
227
233
  }
228
234
  }
229
235
  function y(e, t, n, r) {