@woosh/meep-engine 3.54.0 → 3.56.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 (101) hide show
  1. package/package.json +1 -1
  2. package/src/engine/ecs/transform/Transform64.d.ts +21 -0
  3. package/src/engine/ecs/transform/Transform64.d.ts.map +1 -1
  4. package/src/engine/ecs/transform/Transform64.js +26 -0
  5. package/src/shade/RENDERER_CONTRACT.md +5 -2
  6. package/src/shade/device/SHADE_DEVICE_FLOOR.d.ts.map +1 -1
  7. package/src/shade/device/SHADE_DEVICE_FLOOR.js +2 -0
  8. package/src/shade/renderer/Renderer.d.ts +5 -0
  9. package/src/shade/renderer/Renderer.d.ts.map +1 -1
  10. package/src/shade/renderer/Renderer.js +26 -3
  11. package/src/shade/renderer/hiz/generate_downsampler_code.js +1 -1
  12. package/src/shade/renderer/hiz/shader_hzb_reduce_mip0_clip.js +1 -1
  13. package/src/shade/renderer/particles/GPUParticleSystem.d.ts +2 -1
  14. package/src/shade/renderer/particles/GPUParticleSystem.d.ts.map +1 -1
  15. package/src/shade/renderer/particles/GPUParticleSystem.js +1 -1
  16. package/src/shade/renderer/particles/graph_particles_avboit.d.ts +2 -2
  17. package/src/shade/renderer/particles/graph_particles_avboit.d.ts.map +1 -1
  18. package/src/shade/renderer/particles/graph_particles_avboit.js +4 -9
  19. package/src/shade/renderer/postprocess/denoise/fragment_shader_denoise_ao.d.ts.map +1 -1
  20. package/src/shade/renderer/postprocess/denoise/fragment_shader_denoise_ao.js +154 -147
  21. package/src/shade/renderer/postprocess/gtao/GTAO.d.ts +2 -1
  22. package/src/shade/renderer/postprocess/gtao/GTAO.d.ts.map +1 -1
  23. package/src/shade/renderer/postprocess/gtao/GTAO.js +5 -1
  24. package/src/shade/renderer/postprocess/gtao/GTAO_CONSTANTS.d.ts +8 -0
  25. package/src/shade/renderer/postprocess/gtao/GTAO_CONSTANTS.d.ts.map +1 -1
  26. package/src/shade/renderer/postprocess/gtao/GTAO_CONSTANTS.js +10 -1
  27. package/src/shade/renderer/postprocess/gtao/ao_reproject_shader.d.ts.map +1 -1
  28. package/src/shade/renderer/postprocess/gtao/ao_reproject_shader.js +5 -0
  29. package/src/shade/renderer/postprocess/gtao/chunk_gtao_compute_mip_level.d.ts +22 -0
  30. package/src/shade/renderer/postprocess/gtao/chunk_gtao_compute_mip_level.d.ts.map +1 -0
  31. package/src/shade/renderer/postprocess/gtao/chunk_gtao_compute_mip_level.js +33 -0
  32. package/src/shade/renderer/postprocess/gtao/chunk_gtao_resolve_hzb_depth.d.ts +22 -0
  33. package/src/shade/renderer/postprocess/gtao/chunk_gtao_resolve_hzb_depth.d.ts.map +1 -0
  34. package/src/shade/renderer/postprocess/gtao/chunk_gtao_resolve_hzb_depth.js +56 -0
  35. package/src/shade/renderer/postprocess/gtao/chunk_gtao_sample_depth.d.ts +13 -0
  36. package/src/shade/renderer/postprocess/gtao/chunk_gtao_sample_depth.d.ts.map +1 -0
  37. package/src/shade/renderer/postprocess/gtao/chunk_gtao_sample_depth.js +42 -0
  38. package/src/shade/renderer/postprocess/gtao/fragment_shader_gtao.d.ts +2 -1
  39. package/src/shade/renderer/postprocess/gtao/fragment_shader_gtao.d.ts.map +1 -1
  40. package/src/shade/renderer/postprocess/gtao/fragment_shader_gtao.js +382 -357
  41. package/src/shade/renderer/postprocess/gtao/fragment_shader_gtao_with_irradiance.d.ts.map +1 -1
  42. package/src/shade/renderer/postprocess/gtao/fragment_shader_gtao_with_irradiance.js +414 -410
  43. package/src/shade/renderer/postprocess/nss/NSS.d.ts +1 -1
  44. package/src/shade/renderer/postprocess/ssr/prefilter/NOTES.md +0 -7
  45. package/src/shade/renderer/view/GPUViewContext.d.ts +0 -14
  46. package/src/shade/renderer/view/GPUViewContext.d.ts.map +1 -1
  47. package/src/shade/renderer/view/GPUViewContext.js +0 -29
  48. package/src/shade/renderer/view/ViewManager.d.ts +1 -1
  49. package/src/shade/renderer/view/ViewManager.js +1 -1
  50. package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts +40 -3
  51. package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts.map +1 -1
  52. package/src/shade/renderer/volumetrics/GPUViewVolumetrics.js +660 -583
  53. package/src/shade/renderer/volumetrics/irradiance_clipmap/chunk_irradiance_clipmap_local_light.d.ts +10 -5
  54. package/src/shade/renderer/volumetrics/irradiance_clipmap/chunk_irradiance_clipmap_local_light.d.ts.map +1 -1
  55. package/src/shade/renderer/volumetrics/irradiance_clipmap/chunk_irradiance_clipmap_local_light.js +30 -14
  56. package/src/shade/renderer/volumetrics/irradiance_clipmap/chunk_irradiance_clipmap_sample.d.ts.map +1 -1
  57. package/src/shade/renderer/volumetrics/irradiance_clipmap/chunk_irradiance_clipmap_sample.js +17 -3
  58. package/src/shade/renderer/wind/GPUSceneWind.d.ts +1 -1
  59. package/src/engine/graphics3/decal/DecalAtlas.d.ts +0 -43
  60. package/src/engine/graphics3/decal/DecalAtlas.d.ts.map +0 -1
  61. package/src/engine/graphics3/decal/DecalAtlasFill.d.ts +0 -12
  62. package/src/engine/graphics3/decal/DecalAtlasFill.d.ts.map +0 -1
  63. package/src/engine/graphics3/decal/decal_atlas_border.d.ts +0 -52
  64. package/src/engine/graphics3/decal/decal_atlas_border.d.ts.map +0 -1
  65. package/src/shade/renderer/postprocess/gtao/graph_build_depth_mipmap.d.ts +0 -26
  66. package/src/shade/renderer/postprocess/gtao/graph_build_depth_mipmap.d.ts.map +0 -1
  67. package/src/shade/renderer/postprocess/gtao/graph_build_depth_mipmap.js +0 -268
  68. package/src/shade/renderer/postprocess/ssr/copy_shader_f32.d.ts +0 -3
  69. package/src/shade/renderer/postprocess/ssr/copy_shader_f32.d.ts.map +0 -1
  70. package/src/shade/renderer/postprocess/ssr/copy_shader_f32.js +0 -32
  71. package/src/shade/renderer/postprocess/ssr/depth_max_shader.d.ts +0 -17
  72. package/src/shade/renderer/postprocess/ssr/depth_max_shader.d.ts.map +0 -1
  73. package/src/shade/renderer/postprocess/ssr/depth_max_shader.js +0 -98
  74. package/src/shade/renderer/postprocess/ssr/graph_build_depth_max_pyramid.d.ts +0 -23
  75. package/src/shade/renderer/postprocess/ssr/graph_build_depth_max_pyramid.d.ts.map +0 -1
  76. package/src/shade/renderer/postprocess/ssr/graph_build_depth_max_pyramid.js +0 -118
  77. package/src/shade/renderer/volumetrics/VOLUMETRICS_RESOLUTION_Z.d.ts +0 -2
  78. package/src/shade/renderer/volumetrics/VOLUMETRICS_RESOLUTION_Z.d.ts.map +0 -1
  79. package/src/shade/renderer/volumetrics/VOLUMETRICS_RESOLUTION_Z.js +0 -1
  80. package/src/shade/renderer/volumetrics/chunk_volumetrics_froxel_sample.d.ts +0 -24
  81. package/src/shade/renderer/volumetrics/chunk_volumetrics_froxel_sample.d.ts.map +0 -1
  82. package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_froxel_centre_ws.d.ts +0 -15
  83. package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_froxel_centre_ws.d.ts.map +0 -1
  84. package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_gi.d.ts +0 -17
  85. package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_gi.d.ts.map +0 -1
  86. package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_gi_sample.d.ts +0 -35
  87. package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_gi_sample.d.ts.map +0 -1
  88. package/src/shade/renderer/volumetrics/gi/graph_build_froxel_gi.d.ts +0 -35
  89. package/src/shade/renderer/volumetrics/gi/graph_build_froxel_gi.d.ts.map +0 -1
  90. package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi.d.ts +0 -10
  91. package/src/shade/renderer/volumetrics/gi/shader_volumetrics_gi.d.ts.map +0 -1
  92. package/src/shade/renderer/volumetrics/gi/volumetrics_gi_resources.d.ts +0 -28
  93. package/src/shade/renderer/volumetrics/gi/volumetrics_gi_resources.d.ts.map +0 -1
  94. package/src/shade/renderer/volumetrics/graph_build_froxel_irradiance.d.ts +0 -48
  95. package/src/shade/renderer/volumetrics/graph_build_froxel_irradiance.d.ts.map +0 -1
  96. package/src/shade/renderer/volumetrics/shader_volumetrics_build_irradiance.d.ts +0 -28
  97. package/src/shade/renderer/volumetrics/shader_volumetrics_build_irradiance.d.ts.map +0 -1
  98. package/src/shade/renderer/volumetrics/shader_volumetrics_classify_froxels.d.ts +0 -16
  99. package/src/shade/renderer/volumetrics/shader_volumetrics_classify_froxels.d.ts.map +0 -1
  100. package/src/shade/renderer/volumetrics/shader_volumetrics_lighting_regimes.d.ts +0 -23
  101. package/src/shade/renderer/volumetrics/shader_volumetrics_lighting_regimes.d.ts.map +0 -1
@@ -53,7 +53,7 @@ export class NSS {
53
53
  * @returns {number}
54
54
  */
55
55
  static recommended_jitter_sequence_size(upscale_ratio: number): number;
56
- static "__#203@#preprocess_tensor_descriptor"(render_w: any, render_h: any): TextureResourceDescriptor;
56
+ static "__#200@#preprocess_tensor_descriptor"(render_w: any, render_h: any): TextureResourceDescriptor;
57
57
  /**
58
58
  * @param {GraphicsContext} graphics
59
59
  */
@@ -37,10 +37,3 @@ It has drifted against the live pipeline in one way that a reader will not notic
37
37
  directory: the à-trous path grew `chunk_ssr_metadata`, and the variance/metadata contract the
38
38
  prefilter expects predates it. Reconcile those before wiring the pass in, rather than after.
39
39
 
40
- ## Sibling trap, same territory
41
-
42
- `graph_build_depth_max_pyramid.js` (also one directory up, also unreferenced) builds a
43
- **single-channel `r32float`** max-depth chain, while the live `HierarchicalZBuffer` the SSR trace
44
- actually reads is **two-channel** — `chunk_ffx_sssr_load_depth` reads its `.y`. The two are not
45
- interchangeable, and swapping one in for the other gives a silently zero `.y` rather than an error.
46
- That file's own header says the same thing.
@@ -1,11 +1,3 @@
1
- export namespace ViewStats {
2
- let VisibleMeshes0: number;
3
- let VisibleMeshlets0: number;
4
- let VisibleTriangles0: number;
5
- let VisibleMeshes1: number;
6
- let VisibleMeshlets1: number;
7
- let VisibleTriangles1: number;
8
- }
9
1
  /**
10
2
  * Represents state of scene rendering from a given point of view
11
3
  */
@@ -75,11 +67,6 @@ export class GPUViewContext {
75
67
  * @returns {GPUTypedBuffer}
76
68
  */
77
69
  get uniform_buffer(): GPUTypedBuffer;
78
- /**
79
- *
80
- * @returns {GPUViewVolumetrics}
81
- */
82
- get volumetrics(): GPUViewVolumetrics;
83
70
  /**
84
71
  * Unsafe, be sure you understand what you are doing when using this
85
72
  * @param {GPUCameraContext} v
@@ -138,7 +125,6 @@ export type GraphicsContext = import("../GraphicsContext.js").GraphicsContext;
138
125
  export type GPUSceneContext = import("../scene/GPUSceneContext.js").GPUSceneContext;
139
126
  import { HierarchicalZBuffer } from "../hiz/HierarchicalZBuffer.js";
140
127
  import { GPUTypedBuffer } from "../buffer/GPUTypedBuffer.js";
141
- import { GPUViewVolumetrics } from "../volumetrics/GPUViewVolumetrics.js";
142
128
  import { GPUCameraContext } from "../camera/GPUCameraContext.js";
143
129
  import { VGeoViewCut } from "../geometry/virtual/runtime/VGeoViewCut.js";
144
130
  //# sourceMappingURL=GPUViewContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GPUViewContext.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/view/GPUViewContext.js"],"names":[],"mappings":";;;;;;;;AAgCA;;GAEG;AACH;IAiPI;;;;;OAKG;IACH,sBAJW,eAAe,SACf,eAAe,UACf,gBAAgB,EAyB1B;IA5QD;;;OAGG;IACH,aAFU,MAAM,CAEE;IAElB;;;OAGG;IACH,OAFU,MAAM,CAEL;IAuBX;;;;OAIG;IACH,mBAHW,MAAM,KACN,MAAM,QAiBhB;IAED;;;;OAIG;IACH,aAHW,MAAM,KACN,MAAM,QAQhB;IAED;;;;OAIG;IACH,kBAHW,MAAM,KACN,MAAM,QAOhB;IAED,wEAAwE;IACxE,2BAAqC;IAErC,6BAA6B;IAC7B,8BAEC;IAQD;;;OAGG;IACH,0BAEC;IAED;;;;OAIG;IACH,mBAHW,MAAM,KACN,MAAM,QAUhB;IAgBD;;;OAGG;IACH,kDAEC;IAdD;;;OAGG;IACH,iDAEC;IAgBD;;;OAGG;IACH,qCAEC;IAQD;;;OAGG;IACH,sCAEC;IA4BD;;;OAGG;IACH,mDAEC;IAdD;;;OAGG;IACH,kDAEC;IAyBD;;OAEG;IACH,wCAEC;IAED;;;OAGG;IACH,+BAEC;IAED;;;OAGG;IACH,mEAEC;IAiCD;;;;OAIG;IACH,cAHW,cAAc,GACZ,OAAO,CAWnB;IAED;;;OAGG;IACH,QAFY,MAAM,CAIjB;IAED,wBA6BC;IAGD;;;OAGG;IACH,YAFW,eAAe,QAWzB;IAED;;OAEG;IACH,0BAFW,sBAAsB,QAShC;IAED,gBAkBC;IAGL;;;OAGG;IACH,2BAFU,OAAO,CAEwB;;CANxC;qCA1YY,OAAO,wCAAwC,EAAE,sBAAsB;8BACvE,OAAO,uBAAuB,EAAE,eAAe;8BAC/C,OAAO,6BAA6B,EAAE,eAAe;oCAP9B,+BAA+B;+BAHpC,6BAA6B;mCAIzB,sCAAsC;iCAHxC,+BAA+B;4BACpC,4CAA4C"}
1
+ {"version":3,"file":"GPUViewContext.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/view/GPUViewContext.js"],"names":[],"mappings":"AAqBA;;GAEG;AACH;IAmOI;;;;;OAKG;IACH,sBAJW,eAAe,SACf,eAAe,UACf,gBAAgB,EAuB1B;IA5PD;;;OAGG;IACH,aAFU,MAAM,CAEE;IAElB;;;OAGG;IACH,OAFU,MAAM,CAEL;IAuBX;;;;OAIG;IACH,mBAHW,MAAM,KACN,MAAM,QAiBhB;IAED;;;;OAIG;IACH,aAHW,MAAM,KACN,MAAM,QAQhB;IAED;;;;OAIG;IACH,kBAHW,MAAM,KACN,MAAM,QAOhB;IAED,wEAAwE;IACxE,2BAAqC;IAErC,6BAA6B;IAC7B,8BAEC;IAQD;;;OAGG;IACH,0BAEC;IAED;;;;OAIG;IACH,mBAHW,MAAM,KACN,MAAM,QAUhB;IAgBD;;;OAGG;IACH,kDAEC;IAdD;;;OAGG;IACH,iDAEC;IAgBD;;;OAGG;IACH,qCAEC;IA4BD;;;OAGG;IACH,mDAEC;IAdD;;;OAGG;IACH,kDAEC;IAyBD;;OAEG;IACH,wCAEC;IAED;;;OAGG;IACH,+BAEC;IAED;;;OAGG;IACH,mEAEC;IA+BD;;;;OAIG;IACH,cAHW,cAAc,GACZ,OAAO,CAWnB;IAED;;;OAGG;IACH,QAFY,MAAM,CAIjB;IAED,wBA6BC;IAGD;;;OAGG;IACH,YAFW,eAAe,QAWzB;IAED;;OAEG;IACH,0BAFW,sBAAsB,QAShC;IAED,gBAgBC;IAGL;;;OAGG;IACH,2BAFU,OAAO,CAEwB;;CANxC;qCA9WY,OAAO,wCAAwC,EAAE,sBAAsB;8BACvE,OAAO,uBAAuB,EAAE,eAAe;8BAC/C,OAAO,6BAA6B,EAAE,eAAe;oCAN9B,+BAA+B;+BAHpC,6BAA6B;iCAC3B,+BAA+B;4BACpC,4CAA4C"}
@@ -9,7 +9,6 @@ import { GPUTypedBuffer } from "../buffer/GPUTypedBuffer.js";
9
9
  import { GPUCameraContext } from "../camera/GPUCameraContext.js";
10
10
  import { VGeoViewCut } from "../geometry/virtual/runtime/VGeoViewCut.js";
11
11
  import { HierarchicalZBuffer } from "../hiz/HierarchicalZBuffer.js";
12
- import { GPUViewVolumetrics } from "../volumetrics/GPUViewVolumetrics.js";
13
12
  import { VIEW_UNIFORM_STRUCT } from "./VIEW_UNIFORM_STRUCT.js";
14
13
 
15
14
  /**
@@ -20,16 +19,6 @@ import { VIEW_UNIFORM_STRUCT } from "./VIEW_UNIFORM_STRUCT.js";
20
19
 
21
20
  let id_counter = 0;
22
21
 
23
- export const ViewStats = {
24
- VisibleMeshes0: 0,
25
- VisibleMeshlets0: 1,
26
- VisibleTriangles0: 2,
27
- // second draw pass (after partial hzb)
28
- VisibleMeshes1: 3,
29
- VisibleMeshlets1: 4,
30
- VisibleTriangles1: 5,
31
- }
32
-
33
22
  /**
34
23
  * Represents state of scene rendering from a given point of view
35
24
  */
@@ -188,20 +177,6 @@ export class GPUViewContext {
188
177
  return this.#uniform_buffer;
189
178
  }
190
179
 
191
- /**
192
- * Per-view volumetric fog (froxel LUTs + integration).
193
- * @type {GPUViewVolumetrics}
194
- */
195
- #volumetrics;
196
-
197
- /**
198
- *
199
- * @returns {GPUViewVolumetrics}
200
- */
201
- get volumetrics() {
202
- return this.#volumetrics;
203
- }
204
-
205
180
 
206
181
  /**
207
182
  * What is that we're drawing?
@@ -299,8 +274,6 @@ export class GPUViewContext {
299
274
 
300
275
  this.#previous_camera_state = camera.clone();
301
276
 
302
- this.#volumetrics = new GPUViewVolumetrics(this, device);
303
-
304
277
  this.#virtual_geometry_cut = new VGeoViewCut({ device, label: this.label });
305
278
 
306
279
  }
@@ -403,8 +376,6 @@ export class GPUViewContext {
403
376
 
404
377
  this.#hierarchical_z_buffer.destroy();
405
378
 
406
- this.#volumetrics.destroy();
407
-
408
379
  this.#virtual_geometry_cut.destroy();
409
380
  }
410
381
  }
@@ -37,7 +37,7 @@ export class ViewManager {
37
37
  obtain(view: View): GPUViewContext;
38
38
  /**
39
39
  * Release the GPU context cached for a view, destroying its GPU resources (view uniform
40
- * buffer, hierarchical-Z buffer, volumetrics, and the previous-frame camera clone), and drop
40
+ * buffer, hierarchical-Z buffer, and the previous-frame camera clone), and drop
41
41
  * the cache entry. The cache keys on the View object with no GC path, so a context whose view
42
42
  * is gone (e.g. an evicted shadowmap face) must be released explicitly or its buffers leak.
43
43
  * No-op if the view was never obtained.
@@ -110,7 +110,7 @@ export class ViewManager {
110
110
 
111
111
  /**
112
112
  * Release the GPU context cached for a view, destroying its GPU resources (view uniform
113
- * buffer, hierarchical-Z buffer, volumetrics, and the previous-frame camera clone), and drop
113
+ * buffer, hierarchical-Z buffer, and the previous-frame camera clone), and drop
114
114
  * the cache entry. The cache keys on the View object with no GC path, so a context whose view
115
115
  * is gone (e.g. an evicted shadowmap face) must be released explicitly or its buffers leak.
116
116
  * No-op if the view was never obtained.
@@ -1,10 +1,13 @@
1
+ /**
2
+ * @typedef {import("../../../engine/graphics/render/frame_graph/FrameGraph.js").FrameGraph} FrameGraph
3
+ * @typedef {import("../view/GPUViewContext.js").GPUViewContext} GPUViewContext
4
+ */
1
5
  export class GPUViewVolumetrics {
2
6
  /**
3
7
  *
4
- * @param {GPUViewContext} view
5
8
  * @param {GPUDevice} device
6
9
  */
7
- constructor(view: GPUViewContext, device: GPUDevice);
10
+ constructor(device: GPUDevice);
8
11
  /**
9
12
  * @param {boolean} v
10
13
  */
@@ -13,6 +16,31 @@ export class GPUViewVolumetrics {
13
16
  * @returns {boolean}
14
17
  */
15
18
  get taa_enabled(): boolean;
19
+ /**
20
+ * @param {number} v positive integer
21
+ */
22
+ set tile_size(v: number);
23
+ /**
24
+ * Size of one froxel in XY, in screen pixels. Smaller is finer fog detail at a cost that grows
25
+ * with the inverse square. The grid is resized on the next update and the TAA history dropped,
26
+ * so the frame after a change starts its accumulation over.
27
+ *
28
+ * The grid's XY extent, `ceil(view resolution / tile_size)`, must stay within the device's
29
+ * `maxTextureDimension3D`.
30
+ * @returns {number}
31
+ */
32
+ get tile_size(): number;
33
+ /**
34
+ * @param {number} v integer, at least 2 (the depth curve needs a first and a last slice) and at
35
+ * most the device's `maxTextureDimension3D`
36
+ */
37
+ set resolution_z(v: number);
38
+ /**
39
+ * Number of froxel slices between the camera near and {@link froxel_far}. Cost grows linearly.
40
+ * The grid is resized on the next update and the TAA history dropped, as for {@link tile_size}.
41
+ * @returns {number}
42
+ */
43
+ get resolution_z(): number;
16
44
  /**
17
45
  * @param {number} v
18
46
  */
@@ -25,11 +53,19 @@ export class GPUViewVolumetrics {
25
53
  * @returns {GPUIrradianceClipmap}
26
54
  */
27
55
  get irradiance_clipmap(): GPUIrradianceClipmap;
56
+ /**
57
+ * Drop the TAA history, so the next frame integrates without blending against what came before
58
+ * it. For a cut the grid, the depth curve and the view cannot see: the camera jumped, or the
59
+ * scene changed significantly.
60
+ */
61
+ reset_history(): void;
28
62
  destroy(): void;
29
63
  /**
30
64
  *
31
65
  * @param {Object} options
32
66
  * @param {FrameGraph} options.graph
67
+ * @param {GPUViewContext} options.view what the fog is seen from: its resolution sizes the
68
+ * froxel grid, its camera places it, its scene fills it
33
69
  * @param {number} options.light_cluster_data
34
70
  * @param {number} options.light_cluster_lookup
35
71
  * @param {number} options.light_cluster_parameters
@@ -39,8 +75,9 @@ export class GPUViewVolumetrics {
39
75
  * @param {import("../global_illumination/lpv/GPULightProbeVolume.js").GPULightProbeVolume} [options.lpv]
40
76
  * @returns {{resolved: number, metadata: number, irradiance: {Y: number, CoCg: number, uniform: number}}}
41
77
  */
42
- graph_update({ graph, light_cluster_data, light_cluster_lookup, light_cluster_parameters, shadowmap_atlas, shader_switches, brick4, lpv, }: {
78
+ graph_update({ graph, view, light_cluster_data, light_cluster_lookup, light_cluster_parameters, shadowmap_atlas, shader_switches, brick4, lpv, }: {
43
79
  graph: FrameGraph;
80
+ view: GPUViewContext;
44
81
  light_cluster_data: number;
45
82
  light_cluster_lookup: number;
46
83
  light_cluster_parameters: number;
@@ -1 +1 @@
1
- {"version":3,"file":"GPUViewVolumetrics.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/volumetrics/GPUViewVolumetrics.js"],"names":[],"mappings":"AAiCA;IAiJI;;;;OAIG;IACH,kBAHW,cAAc,qBA2CxB;IA1JD;;OAEG;IACH,4BAOC;IAjBD;;OAEG;IACH,2BAEC;IAsCD;;OAEG;IACH,0BAEC;IAZD;;OAEG;IACH,yBAEC;IA0HD;;OAEG;IACH,+CAEC;IAED,gBAcC;IA6ND;;;;;;;;;;;;OAYG;IACH;QAV+B,KAAK,EAAzB,UAAU;QACM,kBAAkB,EAAlC,MAAM;QACU,oBAAoB,EAApC,MAAM;QACU,wBAAwB,EAAxC,MAAM;QACU,eAAe,EAA/B,MAAM;QACoB,eAAe,GAAzC,eAAe;QACoE,MAAM,GAAzF,OAAO,iDAAiD,EAAE,cAAc;QACkB,GAAG,GAA7F,OAAO,mDAAmD,EAAE,mBAAmB;QAC7E;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAC,CAAA;KAAC,CAsGxG;;CAEJ;yBA9iBY,OAAO,2DAA2D,EAAE,UAAU;6BAC9E,OAAO,2BAA2B,EAAE,cAAc;qCAZ1B,8CAA8C;gCAXnD,uCAAuC"}
1
+ {"version":3,"file":"GPUViewVolumetrics.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/volumetrics/GPUViewVolumetrics.js"],"names":[],"mappings":"AAuBA;;;GAGG;AAEH;IA0MI;;;OAGG;IACH,+BAuCC;IA/MD;;OAEG;IACH,4BAOC;IAjBD;;OAEG;IACH,2BAEC;IAuCD;;OAEG;IACH,yBAIC;IApBD;;;;;;;;OAQG;IACH,wBAEC;IAoBD;;;OAGG;IACH,4BAMC;IAnBD;;;;OAIG;IACH,2BAEC;IAsCD;;OAEG;IACH,0BAEC;IAZD;;OAEG;IACH,yBAEC;IAwHD;;OAEG;IACH,+CAEC;IAED;;;;OAIG;IACH,sBAEC;IAED,gBAcC;IAsOD;;;;;;;;;;;;;;OAcG;IACH;QAZ+B,KAAK,EAAzB,UAAU;QACc,IAAI,EAA5B,cAAc;QAEE,kBAAkB,EAAlC,MAAM;QACU,oBAAoB,EAApC,MAAM;QACU,wBAAwB,EAAxC,MAAM;QACU,eAAe,EAA/B,MAAM;QACoB,eAAe,GAAzC,eAAe;QACoE,MAAM,GAAzF,OAAO,iDAAiD,EAAE,cAAc;QACkB,GAAG,GAA7F,OAAO,mDAAmD,EAAE,mBAAmB;QAC7E;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE;YAAC,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAC,CAAA;KAAC,CA6GxG;;CAEJ;yBA3nBY,OAAO,2DAA2D,EAAE,UAAU;6BAC9E,OAAO,2BAA2B,EAAE,cAAc;qCAX1B,8CAA8C;gCAXnD,uCAAuC"}