rayzee 9.5.0 → 11.0.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 (78) hide show
  1. package/README.md +22 -20
  2. package/dist/{ArchiveImporter-xuUJiklP.js → ArchiveImporter-BRQvLggb.js} +12 -13
  3. package/dist/{BidirectionalIntegrator-C5PKjJoT.js → BidirectionalIntegrator-9lZQxFVH.js} +87 -87
  4. package/dist/BufferLayout-D_IBo2ci.js +150 -0
  5. package/dist/{ColorManagement-CheBCPaW.js → ColorManagement-oeEk7oSu.js} +171 -171
  6. package/dist/{NeuralRetouch-CW11yLZ_.js → NeuralRetouch-BCXylThH.js} +3 -3
  7. package/dist/{NeuralSuperRes-BekaecYg.js → NeuralSuperRes-sZAeS142.js} +3 -3
  8. package/dist/{PathTracer-Ccl9KOuF.js → PathTracer-CQPW06Mm.js} +2911 -2669
  9. package/dist/{PhysicalSky-Dv2PMFGW.js → PhysicalSky-BvqCw_dy.js} +2 -2
  10. package/dist/{RayzeeRenderer-BQxnzCTD.js → RayzeeRenderer-COpwotpU.js} +338 -329
  11. package/dist/{SolarLimb-ken-JbDK.js → SolarLimb-CPaeZVwz.js} +10 -10
  12. package/dist/{ToneMapGPU-BHi5JzIq.js → ToneMapGPU-CjU3osDd.js} +1 -1
  13. package/dist/{ViewTransforms-D0rTLBsX.js → ViewTransforms-CYN7bq2w.js} +2 -2
  14. package/dist/addons/archives.es.js +1 -1
  15. package/dist/addons/bidirectional.es.js +1 -1
  16. package/dist/addons/color.es.js +1 -1
  17. package/dist/addons/physical-sky.es.js +1 -1
  18. package/dist/rayzee-core.es.js +11 -11
  19. package/dist/rayzee.es.js +734 -599
  20. package/dist/rayzee.umd.js +102 -102
  21. package/dist/sceneCachePolicy-BSSsKY98.js +443 -0
  22. package/package.json +1 -1
  23. package/src/Color/ViewTransforms.js +5 -1
  24. package/src/EngineDefaults.js +59 -1032
  25. package/src/Headless.js +6 -5
  26. package/src/Passes/OIDNTemporalHistory.js +1 -1
  27. package/src/PathTracerApp.js +5 -3
  28. package/src/Processor/AssetLoader.js +6 -5
  29. package/src/Processor/BVHBuilder.js +10 -31
  30. package/src/Processor/BVHLeafFold.js +4 -6
  31. package/src/Processor/BVHRefitter.js +3 -46
  32. package/src/Processor/BufferLayout.js +291 -0
  33. package/src/Processor/EmissiveTriangleBuilder.js +1 -1
  34. package/src/Processor/GeometryExtractor.js +3 -3
  35. package/src/Processor/HostMemory.js +7 -1
  36. package/src/Processor/InstanceTable.js +1 -1
  37. package/src/Processor/MaterialPacking.js +2 -1
  38. package/src/Processor/PBRT/PBRTSceneBuilder.js +1 -1
  39. package/src/Processor/QueueManager.js +28 -3
  40. package/src/Processor/SceneProcessor.js +4 -2
  41. package/src/Processor/SplitBLAS.js +1 -1
  42. package/src/Processor/StorageTexturePool.js +22 -1
  43. package/src/Processor/TLASBuilder.js +1 -3
  44. package/src/Processor/TextureBuckets.js +237 -0
  45. package/src/Processor/TextureCreator.js +10 -1
  46. package/src/Processor/Workers/TexturesWorker.js +5 -6
  47. package/src/RayzeeRenderer.js +29 -32
  48. package/src/RenderSettings.js +26 -28
  49. package/src/Stages/ASVGF.js +8 -7
  50. package/src/Stages/AutoExposure.js +14 -5
  51. package/src/Stages/BilateralFilter.js +2 -1
  52. package/src/Stages/DenoiserSettings.js +182 -0
  53. package/src/Stages/EdgeFilter.js +2 -1
  54. package/src/Stages/MotionVector.js +1 -1
  55. package/src/Stages/NRD.js +2 -3
  56. package/src/Stages/NormalDepth.js +3 -2
  57. package/src/Stages/PathTracer.js +72 -4
  58. package/src/Stages/PathTracerStage.js +2 -1
  59. package/src/Stages/Variance.js +1 -1
  60. package/src/TSL/BVHTraversal.js +4 -1
  61. package/src/TSL/Common.js +1 -1
  62. package/src/TSL/EmissiveSampling.js +1 -1
  63. package/src/TSL/LightVisibility.js +111 -0
  64. package/src/TSL/LightsSampling.js +151 -15
  65. package/src/TSL/Random.js +1 -1
  66. package/src/TSL/ShadeKernel.js +88 -3
  67. package/src/TSL/TextureSampling.js +1 -1
  68. package/src/core.js +5 -9
  69. package/src/index.js +10 -21
  70. package/src/integrators/BidirectionalIntegrator.js +2 -1
  71. package/src/managers/CameraManager.js +17 -7
  72. package/src/managers/DenoisingManager.js +14 -10
  73. package/src/managers/EnvironmentManager.js +32 -13
  74. package/src/managers/MaterialDataManager.js +3 -3
  75. package/src/managers/UniformManager.js +2 -2
  76. package/dist/EngineDefaults-DH3bI5t-.js +0 -844
  77. package/dist/sceneCachePolicy-BmwYOYDu.js +0 -183
  78. /package/dist/{Logger-BnHghprG.js → Logger-dDDGj9Av.js} +0 -0
@@ -1,844 +0,0 @@
1
- //#region src/Processor/SunPosition.js
2
- var e = Math.PI / 180;
3
- function t(e) {
4
- let t = 2 * Math.PI * (e - 1) / 365;
5
- return .006918 - .399912 * Math.cos(t) + .070257 * Math.sin(t) - .006758 * Math.cos(2 * t) + 907e-6 * Math.sin(2 * t) - .002697 * Math.cos(3 * t) + .00148 * Math.sin(3 * t);
6
- }
7
- function n({ hours: n, dayOfYear: r, latitude: i }) {
8
- let a = t(r), o = (n - 12) * 15 * e, s = i * e, c = Math.sin(s) * Math.sin(a) + Math.cos(s) * Math.cos(a) * Math.cos(o), l = Math.asin(Math.min(1, Math.max(-1, c))) / e;
9
- return {
10
- azimuth: (Math.atan2(Math.sin(o), Math.cos(o) * Math.sin(s) - Math.tan(a) * Math.cos(s)) / e + 540) % 360,
11
- elevation: l
12
- };
13
- }
14
- function r({ elevation: n, dayOfYear: r, latitude: i, afternoon: a = !1 }) {
15
- let o = t(r), s = i * e, c = (Math.sin(n * e) - Math.sin(s) * Math.sin(o)) / (Math.cos(s) * Math.cos(o)), l = Math.acos(Math.min(1, Math.max(-1, c))) / e / 15;
16
- return a ? 12 + l : 12 - l;
17
- }
18
- var i = (e) => [
19
- 0,
20
- 31,
21
- 59,
22
- 90,
23
- 120,
24
- 151,
25
- 181,
26
- 212,
27
- 243,
28
- 273,
29
- 304,
30
- 334
31
- ][e - 1] + 21, a = Object.freeze({
32
- time: 10,
33
- month: 3,
34
- latitude: 40
35
- }), o = n({
36
- hours: a.time,
37
- dayOfYear: i(a.month),
38
- latitude: a.latitude
39
- }), s = Object.freeze({
40
- viewer: Object.freeze({
41
- areaLightIntensityScale: .1,
42
- environmentRotation: 0,
43
- toneMapping: 6,
44
- saturation: 1,
45
- dofMode: "look"
46
- }),
47
- physical: Object.freeze({
48
- areaLightIntensityScale: 1,
49
- environmentRotation: 0,
50
- toneMapping: 6,
51
- saturation: 1,
52
- dofMode: "physical"
53
- })
54
- });
55
- function c(e = "viewer") {
56
- let t = s[e];
57
- if (!t) throw Error(`unknown render profile "${e}" — expected one of ${Object.keys(s).join(", ")}`);
58
- return t;
59
- }
60
- var l = 6e7, u = 8e6, d = {
61
- resolution: 512,
62
- canvasWidth: 512,
63
- canvasHeight: 512,
64
- maxTextureSize: 4096,
65
- toneMapping: s.viewer.toneMapping,
66
- exposure: 1,
67
- saturation: s.viewer.saturation,
68
- enableEnvironment: !0,
69
- showBackground: !0,
70
- transparentBackground: !1,
71
- environmentIntensity: 1,
72
- backgroundIntensity: 1,
73
- backgroundColor: "#000000",
74
- backgroundBlurriness: 0,
75
- backgroundBlurSamples: 8,
76
- environmentRotation: s.viewer.environmentRotation,
77
- groundProjectionEnabled: !1,
78
- groundProjectionRadius: 100,
79
- groundProjectionHeight: 15,
80
- groundProjectionLevel: 0,
81
- enableGroundCatcher: !1,
82
- groundCatcherHeight: 0,
83
- globalIlluminationIntensity: 1,
84
- environmentMode: "hdri",
85
- solidSkyColor: "#87CEEB",
86
- skySunAzimuth: 180 - o.azimuth,
87
- skySunElevation: o.elevation,
88
- skySunStrength: 1,
89
- skySunSize: .53,
90
- skyTurbidity: 2,
91
- skyOzone: 300,
92
- skyAirDensity: 1,
93
- skyGroundAlbedo: "#959595",
94
- skyAltitude: 50,
95
- skyPreset: "clearDay",
96
- cameraProjection: "perspective",
97
- panoramaLonRange: [-180, 180],
98
- panoramaLatRange: [-90, 90],
99
- panoramaLevelHorizon: !0,
100
- enableDOF: !1,
101
- fov: 55,
102
- focusDistance: .8,
103
- aperture: 5.6,
104
- focalLength: 50,
105
- apertureScale: 1,
106
- anamorphicRatio: 1,
107
- unitsPerMetre: 1,
108
- dofMode: s.viewer.dofMode,
109
- dofBlur: .05,
110
- autoFocusMode: "auto",
111
- afScreenPoint: {
112
- x: .5,
113
- y: .5
114
- },
115
- afSmoothingFactor: .15,
116
- enablePathTracer: !0,
117
- enableAccumulation: !0,
118
- pauseRendering: !1,
119
- maxSamples: 60,
120
- bounces: 3,
121
- transmissiveBounces: 5,
122
- maxSubsurfaceSteps: 8,
123
- maxTransparentBounces: 32,
124
- useAdaptiveSampling: !0,
125
- noiseThreshold: .1,
126
- adaptiveMinSamples: 8,
127
- adaptiveStopFraction: .9,
128
- usePixelFreeze: !0,
129
- pixelFreezeThreshold: .02,
130
- pixelFreezeStability: 8,
131
- convergenceOverlay: !1,
132
- samplingTechnique: 2,
133
- integrator: "path",
134
- enableEmissiveTriangleSampling: !1,
135
- emissiveBoost: 1,
136
- fireflyThreshold: 3,
137
- shadowTerminatorOffset: .1,
138
- wavefrontSortMaterials: !0,
139
- renderLimitMode: "frames",
140
- renderTimeLimit: 30,
141
- renderMode: 0,
142
- enableAlphaShadows: !1,
143
- tilesHelper: !0,
144
- showLightHelper: !1,
145
- directionalLightIntensity: 0,
146
- directionalLightColor: "#ffffff",
147
- directionalLightPosition: [
148
- 1,
149
- 1,
150
- 1
151
- ],
152
- directionalLightAngle: 0,
153
- filterStrength: 1,
154
- edgeAtrousIterations: 5,
155
- edgePhiLuminance: 4,
156
- edgePhiNormal: 64,
157
- edgePhiDepth: .1,
158
- enableOIDN: !1,
159
- oidnQuality: "fast",
160
- continuousDenoise: !1,
161
- continuousDenoiseInterval: 8,
162
- oidnTemporalHistory: !0,
163
- enableUpscaler: !1,
164
- upscalerScale: 2,
165
- upscalerQuality: "fast",
166
- upscalerHdr: !0,
167
- debugMode: 0,
168
- debugThreshold: 100,
169
- debugModel: 0,
170
- enableBloom: !1,
171
- bloomStrength: .2,
172
- bloomRadius: .15,
173
- bloomThreshold: .85,
174
- interactionModeEnabled: !0,
175
- interactionRenderScale: .5,
176
- debugVisScale: 100,
177
- denoiserStrategy: "none",
178
- enableASVGF: !1,
179
- asvgfTemporalAlpha: .1,
180
- asvgfAtrousIterations: 8,
181
- asvgfPhiColor: 10,
182
- asvgfPhiNormal: 128,
183
- asvgfPhiDepth: 1,
184
- asvgfVarianceBoost: 1,
185
- asvgfMaxAccumFrames: 32,
186
- asvgfGradientStrength: 1,
187
- asvgfGradientSigmaScale: 2,
188
- asvgfGradientNoiseFloor: 0,
189
- asvgfDebugMode: 0,
190
- asvgfQualityPreset: "medium",
191
- showAsvgfHeatmap: !1,
192
- nrdQualityPreset: "medium",
193
- nrdDebugMode: 0,
194
- autoExposure: !1,
195
- autoExposureKeyValue: .18,
196
- autoExposureMinExposure: .1,
197
- autoExposureMaxExposure: 20,
198
- autoExposureAdaptSpeedBright: 3,
199
- autoExposureAdaptSpeedDark: .5
200
- }, f = Object.freeze({
201
- perspective: 0,
202
- equirectangular: 1,
203
- orthographic: 2
204
- }), p = 6e4, m = 3, h = .1, g = .01, _ = 4096, v = 2048;
205
- function y(e) {
206
- return v = Math.max(256, Math.min(_, Math.floor(e) || 256)), v;
207
- }
208
- var b = {
209
- low: {
210
- temporalAlpha: .1,
211
- gradientStrength: .8,
212
- gradientSigmaScale: 2.5,
213
- gradientNoiseFloor: .05,
214
- atrousIterations: 3,
215
- phiColor: 1,
216
- phiNormal: 64,
217
- phiDepth: .1,
218
- phiLuminance: 6,
219
- maxAccumFrames: 16,
220
- varianceBoost: .5
221
- },
222
- medium: {
223
- temporalAlpha: .03,
224
- gradientStrength: 1,
225
- gradientSigmaScale: 2.5,
226
- gradientNoiseFloor: .05,
227
- atrousIterations: 4,
228
- phiColor: .5,
229
- phiNormal: 128,
230
- phiDepth: .05,
231
- phiLuminance: 4,
232
- maxAccumFrames: 64,
233
- varianceBoost: 1
234
- },
235
- high: {
236
- temporalAlpha: 0,
237
- gradientStrength: 1,
238
- gradientSigmaScale: 2.5,
239
- gradientNoiseFloor: .05,
240
- atrousIterations: 6,
241
- phiColor: .3,
242
- phiNormal: 256,
243
- phiDepth: .02,
244
- phiLuminance: 2,
245
- maxAccumFrames: 128,
246
- varianceBoost: 1.5
247
- }
248
- }, x = {
249
- maxAccumulatedFrameNum: 30,
250
- maxFastAccumulatedFrameNum: 6,
251
- maxStabilizedFrameNum: 63,
252
- historyFixFrameNum: 3,
253
- historyFixBasePixelStride: 14,
254
- prepassBlurRadius: 30,
255
- minBlurRadius: 1,
256
- maxBlurRadius: 30,
257
- lobeAngleFraction: .15,
258
- roughnessFraction: .15,
259
- planeDistanceSensitivity: .02,
260
- minHitDistanceWeight: .1,
261
- fastHistoryClampingSigmaScale: 2,
262
- fireflySuppressorMinRelativeScale: 2,
263
- enableAntiFirefly: !0,
264
- antilagLuminanceSigmaScale: 2,
265
- antilagLuminanceSensitivity: 3,
266
- disocclusionThreshold: .01,
267
- convergenceS: 1,
268
- convergenceB: .2,
269
- convergenceP: .8,
270
- lobeVolumePercent: .1,
271
- handoverFrames: 0
272
- }, S = [
273
- "maxAccumulatedFrameNum",
274
- "maxFastAccumulatedFrameNum",
275
- "maxStabilizedFrameNum",
276
- "historyFixFrameNum",
277
- "prepassBlurRadius",
278
- "maxBlurRadius",
279
- "enableAntiFirefly"
280
- ], C = {
281
- low: {
282
- maxAccumulatedFrameNum: 16,
283
- maxFastAccumulatedFrameNum: 4,
284
- maxStabilizedFrameNum: 16,
285
- historyFixFrameNum: 2,
286
- prepassBlurRadius: 0,
287
- maxBlurRadius: 20,
288
- enableAntiFirefly: !1
289
- },
290
- medium: {},
291
- high: {
292
- maxAccumulatedFrameNum: 45,
293
- maxFastAccumulatedFrameNum: 8,
294
- historyFixFrameNum: 4,
295
- prepassBlurRadius: 40,
296
- maxBlurRadius: 40
297
- }
298
- }, w = {
299
- fov: {
300
- min: 10,
301
- max: 90,
302
- default: d.fov
303
- },
304
- focusDistance: {
305
- min: .3,
306
- max: 100,
307
- default: d.focusDistance
308
- },
309
- aperture: {
310
- options: [
311
- 1.4,
312
- 2,
313
- 2.8,
314
- 4,
315
- 5.6,
316
- 8,
317
- 11,
318
- 16
319
- ],
320
- default: d.aperture
321
- },
322
- focalLength: {
323
- min: 0,
324
- max: 200,
325
- default: d.focalLength
326
- }
327
- }, T = {
328
- clearDay: {
329
- name: "Clear Day",
330
- sunAzimuth: 180 - o.azimuth,
331
- sunElevation: o.elevation,
332
- turbidity: 2,
333
- exposure: 0
334
- },
335
- clearMorning: {
336
- name: "Clear Morning",
337
- sunAzimuth: 90,
338
- sunElevation: 15,
339
- turbidity: 2,
340
- exposure: 1.4
341
- },
342
- clearNoon: {
343
- name: "Clear Noon",
344
- sunAzimuth: 180,
345
- sunElevation: 70,
346
- turbidity: 2,
347
- exposure: 0
348
- },
349
- hazyAfternoon: {
350
- name: "Hazy Afternoon",
351
- sunAzimuth: 225,
352
- sunElevation: 35,
353
- turbidity: 4.5,
354
- exposure: .4
355
- },
356
- goldenHour: {
357
- name: "Golden Hour",
358
- sunAzimuth: 270,
359
- sunElevation: 6,
360
- turbidity: 2.5,
361
- exposure: 2.7
362
- },
363
- sunset: {
364
- name: "Sunset",
365
- sunAzimuth: 270,
366
- sunElevation: 1,
367
- turbidity: 3,
368
- exposure: 4.2
369
- },
370
- blueHour: {
371
- name: "Blue Hour",
372
- sunAzimuth: 270,
373
- sunElevation: -4,
374
- turbidity: 2,
375
- exposure: 7
376
- },
377
- mountain: {
378
- name: "Mountain Air",
379
- sunAzimuth: 135,
380
- sunElevation: 40,
381
- turbidity: 1.3,
382
- altitude: 3e3,
383
- exposure: 0
384
- }
385
- }, E = {
386
- portrait: {
387
- name: "Portrait",
388
- description: "Shallow depth of field, background blur",
389
- dofBlur: .1,
390
- aperture: 1.4,
391
- focalLength: 135,
392
- apertureScale: 1
393
- },
394
- landscape: {
395
- name: "Landscape",
396
- description: "Maximum depth of field, everything in focus",
397
- dofBlur: .001,
398
- aperture: 16,
399
- focalLength: 24,
400
- apertureScale: .5
401
- },
402
- macro: {
403
- name: "Macro",
404
- description: "Very thin focus plane for close-ups",
405
- dofBlur: .14,
406
- aperture: 1.4,
407
- focalLength: 100,
408
- apertureScale: 2
409
- },
410
- product: {
411
- name: "Product",
412
- description: "Sharp detail with subtle background separation",
413
- dofBlur: .013,
414
- aperture: 2.8,
415
- focalLength: 85,
416
- apertureScale: .4
417
- },
418
- architectural: {
419
- name: "Architectural",
420
- description: "Deep focus for rooms and buildings",
421
- dofBlur: .001,
422
- aperture: 11,
423
- focalLength: 16,
424
- apertureScale: .5
425
- },
426
- cinematic: {
427
- name: "Cinematic",
428
- description: "Dramatic depth separation with anamorphic bokeh",
429
- dofBlur: .13,
430
- aperture: 1.4,
431
- focalLength: 200,
432
- apertureScale: 1,
433
- anamorphicRatio: 1.5
434
- }
435
- }, D = {
436
- MANUAL: "manual",
437
- AUTO: "auto"
438
- }, O = {
439
- SMOOTHING_FACTOR: .15,
440
- RESET_THRESHOLD: .05,
441
- FALLBACK_DISTANCE: 10,
442
- SNAP_THRESHOLD: .5
443
- }, k = {
444
- FLOATS_PER_TRIANGLE: 20,
445
- POSITION_A_OFFSET: 0,
446
- POSITION_B_OFFSET: 4,
447
- POSITION_C_OFFSET: 8,
448
- NORMAL_A_PACKED_OFFSET: 3,
449
- NORMAL_B_PACKED_OFFSET: 7,
450
- NORMAL_C_PACKED_OFFSET: 11,
451
- UV_AB_OFFSET: 12,
452
- UV_C_OFFSET: 16,
453
- MATERIAL_FLAGS_OFFSET: 18,
454
- MESH_INDEX_OFFSET: 19
455
- }, A = 16777215;
456
- function j(e) {
457
- return !e || !((e.transmission || 0) === 0 && (!(e.transparent | 0) || (e.opacity ?? 1) >= 1)) ? 0 : e.alphaMode | 0 ? 2 : 1;
458
- }
459
- function M(e, t) {
460
- return (e & A | (t?.side ?? 0) << 24 | j(t) << 26) >>> 0;
461
- }
462
- function N(e, t, n) {
463
- let r = Math.sqrt(e * e + t * t + n * n);
464
- r > 0 ? (e /= r, t /= r, n /= r) : (e = 0, t = 0, n = 1);
465
- let i = Math.abs(e) + Math.abs(t) + Math.abs(n), a = e / i, o = t / i;
466
- if (n < 0) {
467
- let e = a, t = o;
468
- a = (1 - Math.abs(t)) * (e >= 0 ? 1 : -1), o = (1 - Math.abs(e)) * (t >= 0 ? 1 : -1);
469
- }
470
- let s = Math.round(Math.min(1, Math.max(-1, a)) * 32767) & 65535;
471
- return ((Math.round(Math.min(1, Math.max(-1, o)) * 32767) & 65535) << 16 | s) >>> 0;
472
- }
473
- var P = {
474
- SLOTS_PER_MATERIAL: 34,
475
- FLOATS_PER_MATERIAL: 136,
476
- IOR: 0,
477
- TRANSMISSION: 1,
478
- THICKNESS: 2,
479
- EMISSIVE_INTENSITY: 3,
480
- ATTENUATION_COLOR: 4,
481
- ATTENUATION_DISTANCE: 7,
482
- OPACITY: 8,
483
- SIDE: 9,
484
- TRANSPARENT: 10,
485
- ALPHA_TEST: 11,
486
- ALPHA_MODE: 12,
487
- DEPTH_WRITE: 13,
488
- NORMAL_SCALE: 14,
489
- COLOR: 16,
490
- METALNESS: 19,
491
- EMISSIVE: 20,
492
- ROUGHNESS: 23,
493
- ALBEDO_MAP_INDEX: 24,
494
- NORMAL_MAP_INDEX: 25,
495
- ROUGHNESS_MAP_INDEX: 26,
496
- METALNESS_MAP_INDEX: 27,
497
- EMISSIVE_MAP_INDEX: 28,
498
- BUMP_MAP_INDEX: 29,
499
- CLEARCOAT: 30,
500
- CLEARCOAT_ROUGHNESS: 31,
501
- DISPERSION: 32,
502
- VISIBLE: 33,
503
- SHEEN: 34,
504
- SHEEN_ROUGHNESS: 35,
505
- SHEEN_COLOR: 36,
506
- DIFFUSE_TRANSMISSION: 39,
507
- SPECULAR_INTENSITY: 40,
508
- SPECULAR_COLOR: 41,
509
- IRIDESCENCE: 44,
510
- IRIDESCENCE_IOR: 45,
511
- IRIDESCENCE_THICKNESS_RANGE: 46,
512
- BUMP_SCALE: 48,
513
- DISPLACEMENT_SCALE: 49,
514
- DISPLACEMENT_MAP_INDEX: 50,
515
- ALBEDO_TRANSFORM: 52,
516
- NORMAL_TRANSFORM: 60,
517
- ROUGHNESS_TRANSFORM: 68,
518
- METALNESS_TRANSFORM: 76,
519
- EMISSIVE_TRANSFORM: 84,
520
- BUMP_TRANSFORM: 92,
521
- DISPLACEMENT_TRANSFORM: 100,
522
- SUBSURFACE_COLOR: 108,
523
- SUBSURFACE: 111,
524
- SUBSURFACE_RADIUS: 112,
525
- SUBSURFACE_RADIUS_SCALE: 115,
526
- SUBSURFACE_ANISOTROPY: 116,
527
- ANISOTROPY: 117,
528
- ANISOTROPY_ROTATION: 118,
529
- ANISOTROPY_MAP_INDEX: 119,
530
- TRANSMISSION_MAP_INDEX: 120,
531
- CLEARCOAT_MAP_INDEX: 121,
532
- CLEARCOAT_ROUGHNESS_MAP_INDEX: 122,
533
- SHEEN_COLOR_MAP_INDEX: 123,
534
- SHEEN_ROUGHNESS_MAP_INDEX: 124,
535
- IRIDESCENCE_MAP_INDEX: 125,
536
- IRIDESCENCE_THICKNESS_MAP_INDEX: 126,
537
- SPECULAR_INTENSITY_MAP_INDEX: 127,
538
- SPECULAR_COLOR_MAP_INDEX: 128,
539
- DIFFUSE_TRANSMISSION_COLOR: 129,
540
- DIFFUSE_TRANSMISSION_MAP_INDEX: 132,
541
- DIFFUSE_TRANSMISSION_COLOR_MAP_INDEX: 133,
542
- SLOT: {
543
- IOR_TRANSMISSION: 0,
544
- ATTENUATION: 1,
545
- OPACITY_ALPHA: 2,
546
- ALPHA_MODE: 3,
547
- COLOR_METALNESS: 4,
548
- EMISSIVE_ROUGHNESS: 5,
549
- MAP_INDICES_A: 6,
550
- MAP_INDICES_B: 7,
551
- DISPERSION_SHEEN: 8,
552
- SHEEN_COLOR: 9,
553
- SPECULAR: 10,
554
- IRIDESCENCE: 11,
555
- BUMP_DISPLACEMENT: 12,
556
- ALBEDO_TRANSFORM_A: 13,
557
- ALBEDO_TRANSFORM_B: 14,
558
- NORMAL_TRANSFORM_A: 15,
559
- NORMAL_TRANSFORM_B: 16,
560
- ROUGHNESS_TRANSFORM_A: 17,
561
- ROUGHNESS_TRANSFORM_B: 18,
562
- METALNESS_TRANSFORM_A: 19,
563
- METALNESS_TRANSFORM_B: 20,
564
- EMISSIVE_TRANSFORM_A: 21,
565
- EMISSIVE_TRANSFORM_B: 22,
566
- BUMP_TRANSFORM_A: 23,
567
- BUMP_TRANSFORM_B: 24,
568
- DISPLACEMENT_TRANSFORM_A: 25,
569
- DISPLACEMENT_TRANSFORM_B: 26,
570
- SUBSURFACE_A: 27,
571
- SUBSURFACE_B: 28,
572
- SUBSURFACE_C: 29,
573
- EXT_MAP_INDICES_A: 30,
574
- EXT_MAP_INDICES_B: 31,
575
- EXT_MAP_INDICES_C: 32,
576
- EXT_MAP_INDICES_D: 33
577
- }
578
- }, F = (e) => Number.isFinite(e) && e > 0 ? e : 0, I = L({
579
- color: [
580
- 1,
581
- 1,
582
- 1
583
- ],
584
- emissive: [
585
- 0,
586
- 0,
587
- 0
588
- ],
589
- emissiveIntensity: 1,
590
- roughness: 1,
591
- metalness: 0,
592
- ior: 1.5,
593
- opacity: 1,
594
- transmission: 0,
595
- thickness: 0,
596
- attenuationColor: [
597
- 1,
598
- 1,
599
- 1
600
- ],
601
- attenuationDistance: Infinity,
602
- dispersion: 0,
603
- sheen: 0,
604
- sheenRoughness: 1,
605
- sheenColor: [
606
- 0,
607
- 0,
608
- 0
609
- ],
610
- specularIntensity: 1,
611
- specularColor: [
612
- 1,
613
- 1,
614
- 1
615
- ],
616
- clearcoat: 0,
617
- clearcoatRoughness: 0,
618
- iridescence: 0,
619
- iridescenceIOR: 1.3,
620
- iridescenceThicknessRange: [100, 400],
621
- normalScale: [1, 1],
622
- bumpScale: 1,
623
- displacementScale: 1,
624
- transparent: 0,
625
- alphaTest: 0,
626
- alphaMode: 0,
627
- side: 0,
628
- depthWrite: 1,
629
- subsurface: 0,
630
- subsurfaceColor: [
631
- 1,
632
- 1,
633
- 1
634
- ],
635
- subsurfaceRadius: [
636
- 1,
637
- .2,
638
- .1
639
- ],
640
- subsurfaceRadiusScale: 1,
641
- subsurfaceAnisotropy: 0,
642
- anisotropy: 0,
643
- anisotropyRotation: 0,
644
- diffuseTransmission: 0,
645
- diffuseTransmissionColor: [
646
- 1,
647
- 1,
648
- 1
649
- ]
650
- });
651
- function L(e) {
652
- for (let t of Object.values(e)) typeof t == "object" && Object.freeze(t);
653
- return Object.freeze(e);
654
- }
655
- var R = 1073741824, ee = 1073741824, z = 1073741823, B = {
656
- TRIANGLE_LEAF: 1073741824,
657
- BLAS_POINTER_LEAF: 1073741825,
658
- FRONTIER: 1073741826
659
- }, V = 1 << 27;
660
- function H(e) {
661
- return new Uint32Array(e.buffer, e.byteOffset, e.length);
662
- }
663
- function U(e, t) {
664
- if (e >= 1073741824) throw RangeError(`${t} is ${e.toLocaleString()}, at or past the BVH index limit of ${R.toLocaleString()}. Node indices are stored as u32 bit patterns and the leaf tags occupy everything above that.`);
665
- return e;
666
- }
667
- var W = {
668
- PIXELS_PER_MATERIAL: 30,
669
- RGBA_COMPONENTS: 4,
670
- VEC4_PER_TRIANGLE: 8,
671
- VEC4_PER_BVH_NODE: 4,
672
- FLOATS_PER_VEC4: 4,
673
- MIN_TEXTURE_WIDTH: 4,
674
- MAX_CONCURRENT_WORKERS: Math.min(typeof navigator < "u" && navigator.hardwareConcurrency || 4, 6),
675
- BUFFER_POOL_SIZE: 20,
676
- CANVAS_POOL_SIZE: 12,
677
- CACHE_SIZE_LIMIT: 50,
678
- MAX_TEXTURE_SIZE: 8192,
679
- DEFAULT_MAX_TEXTURE_SIZE: 4096,
680
- MAX_TEXTURES_LIMIT: 4 * 256,
681
- MATERIAL_BUCKET_COUNT: 4,
682
- BUCKET_LAYER_STRIDE: 256
683
- }, G = 64;
684
- function K(e, t) {
685
- let n = Math.ceil(Math.max(1, e) / G) * G;
686
- return Math.min(t, Math.max(W.MIN_TEXTURE_WIDTH, n));
687
- }
688
- function q(e) {
689
- let t = 0, n = 0, r = 0;
690
- for (let i of e) t = Math.max(t, i.width), n = Math.max(n, i.height), r += i.count;
691
- return {
692
- units: e,
693
- width: t,
694
- height: n,
695
- count: r
696
- };
697
- }
698
- function J(e, t) {
699
- return K(e.width, t) * e.height * e.count * 4;
700
- }
701
- function Y(e, t) {
702
- return e.reduce((e, n) => e + J(n, t), 0);
703
- }
704
- function X(e, t, n) {
705
- let r = e.slice();
706
- for (; r.length > t;) {
707
- let e = null;
708
- for (let t = 0; t < r.length; t++) for (let i = t + 1; i < r.length; i++) {
709
- let a = q(r[t].units.concat(r[i].units)), o = J(a, n) - J(r[t], n) - J(r[i], n);
710
- (!e || o < e.delta) && (e = {
711
- i: t,
712
- j: i,
713
- delta: o,
714
- fused: a
715
- });
716
- }
717
- r = r.filter((t, n) => n !== e.i && n !== e.j).concat([e.fused]);
718
- }
719
- return r;
720
- }
721
- function Z(e, t, n) {
722
- let r = [];
723
- for (let e = t - 1; e >= 0; e--) r.push(Math.max(W.MIN_TEXTURE_WIDTH, Math.round(n / 2 ** e)));
724
- let i = r.map(() => []);
725
- for (let t of e) {
726
- let e = 2 ** Math.ceil(Math.log2(Math.max(t.width, t.height))), n = r.findIndex((t) => e <= t);
727
- n < 0 && (n = r.length - 1), i[n].push(t);
728
- }
729
- return i.filter((e) => e.length).map(q);
730
- }
731
- function Q(e, t) {
732
- let n = e;
733
- for (let e = 0; e < 8; e++) {
734
- let e = !1;
735
- for (let r of n.flatMap((e) => e.units)) {
736
- let i = n.findIndex((e) => e.units.includes(r));
737
- if (!(i < 0)) for (let a = 0; a < n.length; a++) {
738
- if (a === i) continue;
739
- let o = [];
740
- for (let e = 0; e < n.length; e++) if (e === i) {
741
- let t = n[e].units.filter((e) => e !== r);
742
- t.length && o.push(q(t));
743
- } else e === a ? o.push(q(n[e].units.concat([r]))) : o.push(n[e]);
744
- if (Y(o, t) < Y(n, t)) {
745
- n = o, e = !0;
746
- break;
747
- }
748
- }
749
- }
750
- if (!e) break;
751
- }
752
- return n;
753
- }
754
- function $(e, t, n = W.MATERIAL_BUCKET_COUNT) {
755
- let r = /* @__PURE__ */ new Map();
756
- for (let { width: n, height: i } of e) {
757
- let e = Math.min(t, Math.max(1, n || 1)), a = Math.min(t, Math.max(1, i || 1)), o = `${e}x${a}`, s = r.get(o);
758
- s ? s.count++ : r.set(o, {
759
- width: e,
760
- height: a,
761
- count: 1
762
- });
763
- }
764
- let i = [...r.values()], a = i.map((e) => q([e]));
765
- if (a.length > n) {
766
- let e = Z(i, n, t), r = X(a, n, t);
767
- a = Y(e, t) < Y(r, t) ? e : r, a = Q(a, t);
768
- }
769
- return a.map((e) => ({
770
- width: K(e.width, t),
771
- height: e.height
772
- })).sort((e, t) => e.width * e.height - t.width * t.height);
773
- }
774
- function te(e, t, n) {
775
- let r = Math.max(1, e || 1), i = Math.max(1, t || 1);
776
- for (let e = 0; e < n.length; e++) if (n[e].width >= r && n[e].height >= i) return e;
777
- return Math.max(0, n.length - 1);
778
- }
779
- function ne(e, t) {
780
- return e * W.BUCKET_LAYER_STRIDE + t;
781
- }
782
- var re = [
783
- 0,
784
- 0,
785
- 1,
786
- 1,
787
- 0,
788
- 0,
789
- 0,
790
- 1
791
- ], ie = {
792
- maxSamples: 30,
793
- bounces: 20,
794
- transmissiveBounces: 24,
795
- maxSubsurfaceSteps: 64,
796
- renderMode: 1,
797
- enableAlphaShadows: !0,
798
- enableOIDN: !0,
799
- oidnQuality: "high",
800
- interactionModeEnabled: !1,
801
- useAdaptiveSampling: !0,
802
- noiseThreshold: .02,
803
- adaptiveStopFraction: .94,
804
- usePixelFreeze: !0
805
- }, ae = {
806
- maxSamples: d.maxSamples,
807
- bounces: d.bounces,
808
- renderMode: d.renderMode,
809
- enableAlphaShadows: d.enableAlphaShadows,
810
- transmissiveBounces: 12,
811
- maxSubsurfaceSteps: d.maxSubsurfaceSteps,
812
- enableOIDN: !0,
813
- oidnQuality: "fast",
814
- interactionModeEnabled: !0,
815
- useAdaptiveSampling: !0,
816
- noiseThreshold: .1,
817
- usePixelFreeze: !0
818
- };
819
- function oe(e) {
820
- return {
821
- maxSamples: e.maxSamples,
822
- maxBounces: e.bounces,
823
- transmissiveBounces: e.transmissiveBounces,
824
- maxSubsurfaceSteps: e.maxSubsurfaceSteps,
825
- enableAlphaShadows: e.enableAlphaShadows ?? !1,
826
- useAdaptiveSampling: e.useAdaptiveSampling ?? !1,
827
- noiseThreshold: e.noiseThreshold ?? d.noiseThreshold,
828
- adaptiveStopFraction: e.adaptiveStopFraction ?? d.adaptiveStopFraction,
829
- adaptiveMinSamples: e.adaptiveMinSamples ?? d.adaptiveMinSamples,
830
- usePixelFreeze: e.usePixelFreeze ?? !1,
831
- pixelFreezeThreshold: e.pixelFreezeThreshold ?? d.pixelFreezeThreshold,
832
- pixelFreezeStability: e.pixelFreezeStability ?? d.pixelFreezeStability,
833
- interactionModeEnabled: e.interactionModeEnabled ?? d.interactionModeEnabled
834
- };
835
- }
836
- var se = {
837
- MAX_BUFFER_MEMORY: 1024 * 1024 * 1024,
838
- MAX_TEXTURE_MEMORY: 2048 * 1024 * 1024,
839
- CLEANUP_THRESHOLD: .8,
840
- CHUNK_SIZE_THRESHOLD: 64 * 1024 * 1024,
841
- STREAM_BATCH_SIZE: 4
842
- };
843
- //#endregion
844
- export { l as A, te as B, h as C, s as D, ie as E, A as F, M as G, F as H, K as I, j as J, $ as K, U as L, ee as M, z as N, T as O, k as P, H as R, m as S, C as T, N as U, oe as V, ne as W, n as X, i as Y, r as Z, I as _, V as a, se as b, E as c, a as d, re as f, P as g, ae as h, D as i, W as j, u as k, f as l, p as m, g as n, B as o, d as p, y as q, b as r, R as s, O as t, w as u, _ as v, S as w, x, v as y, c as z };