@woosh/meep-engine 3.60.5 → 3.60.6
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/CHANGELOG.md +19 -0
- package/package.json +1 -1
- package/src/shade/renderer/Renderer.d.ts +11 -0
- package/src/shade/renderer/Renderer.d.ts.map +1 -1
- package/src/shade/renderer/Renderer.js +43 -1
- package/src/shade/renderer/geometry/sdf/GPUGeometrySDFManager.d.ts +26 -43
- package/src/shade/renderer/geometry/sdf/GPUGeometrySDFManager.d.ts.map +1 -1
- package/src/shade/renderer/geometry/sdf/GPUGeometrySDFManager.js +109 -117
- package/src/shade/renderer/geometry/sdf/cards/GPUMeshCardSets.d.ts +20 -2
- package/src/shade/renderer/geometry/sdf/cards/GPUMeshCardSets.d.ts.map +1 -1
- package/src/shade/renderer/geometry/sdf/cards/GPUMeshCardSets.js +66 -2
- package/src/shade/renderer/geometry/virtual/proxy/vgeo_proxy_triangle_limit.d.ts +19 -0
- package/src/shade/renderer/geometry/virtual/proxy/vgeo_proxy_triangle_limit.d.ts.map +1 -0
- package/src/shade/renderer/geometry/virtual/proxy/vgeo_proxy_triangle_limit.js +25 -0
- package/src/shade/renderer/geometry/virtual/runtime/VirtualGeometry.d.ts +15 -0
- package/src/shade/renderer/geometry/virtual/runtime/VirtualGeometry.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/VirtualGeometry.js +38 -0
- package/src/shade/renderer/geometry/virtual/sdf/VGeoSDFProxies.d.ts +28 -59
- package/src/shade/renderer/geometry/virtual/sdf/VGeoSDFProxies.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/sdf/VGeoSDFProxies.js +84 -789
- package/src/shade/renderer/global_illumination/probe_clipmap/ProbeClipmapSceneHolds.d.ts +2 -1
- package/src/shade/renderer/global_illumination/probe_clipmap/ProbeClipmapSceneHolds.d.ts.map +1 -1
- package/src/shade/renderer/global_illumination/probe_clipmap/ProbeClipmapSceneHolds.js +2 -1
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/chunk_mesh_brick_instance.d.ts +2 -2
- package/src/shade/renderer/global_illumination/probe_clipmap/brick/mesh/chunk_mesh_brick_instance.js +2 -2
- package/src/shade/renderer/material/GPUMaterialManager.d.ts +4 -1
- package/src/shade/renderer/material/GPUMaterialManager.d.ts.map +1 -1
- package/src/shade/renderer/material/GPUMaterialManager.js +5 -8
- package/src/shade/renderer/postprocess/gtao/GTAO.d.ts +7 -3
- package/src/shade/renderer/postprocess/gtao/GTAO.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/gtao/GTAO.js +26 -13
- package/src/shade/renderer/postprocess/gtao/ao_reproject_shader.d.ts +14 -0
- package/src/shade/renderer/postprocess/gtao/ao_reproject_shader.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/gtao/ao_reproject_shader.js +196 -68
- package/src/shade/renderer/postprocess/gtao/fragment_shader_gtao.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/gtao/fragment_shader_gtao.js +42 -28
- package/src/shade/renderer/postprocess/gtao/fragment_shader_gtao_with_irradiance.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/gtao/fragment_shader_gtao_with_irradiance.js +429 -414
- package/src/shade/renderer/postprocess/gtao/shader_gtao_spatial_denoise.d.ts +16 -0
- package/src/shade/renderer/postprocess/gtao/shader_gtao_spatial_denoise.d.ts.map +1 -0
- package/src/shade/renderer/postprocess/gtao/shader_gtao_spatial_denoise.js +156 -0
- package/src/shade/renderer/scene/GPUSceneContext.d.ts +2 -2
- package/src/shade/renderer/scene/GPUSceneContext.js +5 -5
- package/src/shade/renderer/geometry/virtual/sdf/VGEO_SDF.d.ts +0 -47
- package/src/shade/renderer/geometry/virtual/sdf/VGEO_SDF.d.ts.map +0 -1
- package/src/shade/renderer/geometry/virtual/sdf/VGEO_SDF.js +0 -80
- package/src/shade/renderer/geometry/virtual/sdf/shader_vgeo_sdf_collect.d.ts +0 -16
- package/src/shade/renderer/geometry/virtual/sdf/shader_vgeo_sdf_collect.d.ts.map +0 -1
- package/src/shade/renderer/geometry/virtual/sdf/shader_vgeo_sdf_collect.js +0 -67
- package/src/shade/renderer/geometry/virtual/sdf/shader_vgeo_sdf_decode.d.ts +0 -17
- package/src/shade/renderer/geometry/virtual/sdf/shader_vgeo_sdf_decode.d.ts.map +0 -1
- package/src/shade/renderer/geometry/virtual/sdf/shader_vgeo_sdf_decode.js +0 -145
- package/src/shade/renderer/geometry/virtual/sdf/shader_vgeo_sdf_traverse.d.ts +0 -12
- package/src/shade/renderer/geometry/virtual/sdf/shader_vgeo_sdf_traverse.d.ts.map +0 -1
- package/src/shade/renderer/geometry/virtual/sdf/shader_vgeo_sdf_traverse.js +0 -105
|
@@ -1,91 +1,60 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The geometry caches of virtual geometry (PROBE_CLIPMAP_PROPOSAL_2026_10_27.md §7.8,
|
|
3
|
-
* {@link
|
|
4
|
-
*
|
|
5
|
-
* the mesh path as any geometry is, and its resident cache adopted into the geometry. Its instances are then composed
|
|
6
|
-
* from it as a mesh's are.
|
|
2
|
+
* The geometry caches and cards of virtual geometry (PROBE_CLIPMAP_PROPOSAL_2026_10_27.md §7.8, §17).
|
|
3
|
+
* {@link GPUGeometrySDFManager} bakes a geometry's field from its tree and captures its cards through its meshlets, and
|
|
4
|
+
* a virtual geometry has neither.
|
|
7
5
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* its
|
|
6
|
+
* Each virtual geometry whose cache is asked for gets its proxy ({@link VirtualGeometry#get_proxy}): an ordinary
|
|
7
|
+
* geometry in the same local space, with its attributes. The proxy is added to the geometry manager and the virtual
|
|
8
|
+
* geometry aliased to it ({@link GPUGeometrySDFManager#alias}). From there the proxy is any geometry: the virtual
|
|
9
|
+
* geometry's holders hold its cache, baked from its tree, and the virtual geometry's card sets capture its layout,
|
|
10
|
+
* drawn through its meshlets with the virtual geometry's own materials.
|
|
12
11
|
*
|
|
13
|
-
* **The
|
|
14
|
-
*
|
|
15
|
-
* read back with that frame's counters. A frame that cut it otherwise (a page evicted since, the cut grown) is not
|
|
16
|
-
* taken, and the job is cut again.
|
|
12
|
+
* **The proxy's detail is its own**, not the cache's voxel's: a proxy coarser than the voxel bakes a coarser field and
|
|
13
|
+
* coarser cards than the asset would. A known discrepancy, kept: a hit on virtual geometry has a material at all.
|
|
17
14
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* A geometry no longer asked for when its turn comes is let go, and one whose holders ask again is extracted again.
|
|
24
|
-
* Settings that change the caches' voxel restart every job.
|
|
15
|
+
* A proxy is applied as it arrives, which is between frames: adding a geometry grows the geometry manager's buffers,
|
|
16
|
+
* which a frame's passes must not find replaced under them. A virtual geometry the geometry manager lets go takes its
|
|
17
|
+
* proxy with it; one let go before its proxy arrives has none applied. A proxy that cannot be had leaves its geometry
|
|
18
|
+
* waiting, black.
|
|
25
19
|
*/
|
|
26
20
|
export class VGeoSDFProxies {
|
|
27
21
|
/**
|
|
28
22
|
* @param {Object} options
|
|
29
|
-
* @param {GPUDevice} options.device
|
|
30
|
-
* @param {GPUVirtualGeometryRuntime} options.runtime whose geometries' caches this makes
|
|
31
23
|
* @param {GPUGeometryManager} options.geometries the scene's, whose caches the virtual geometries' are
|
|
32
|
-
* @param {number} [options.job_capacity] geometries extracted at once
|
|
33
24
|
*/
|
|
34
|
-
constructor({
|
|
35
|
-
device: GPUDevice;
|
|
36
|
-
runtime: GPUVirtualGeometryRuntime;
|
|
25
|
+
constructor({ geometries }: {
|
|
37
26
|
geometries: GPUGeometryManager;
|
|
38
|
-
job_capacity?: number;
|
|
39
27
|
});
|
|
40
28
|
/**
|
|
41
|
-
*
|
|
42
|
-
* @returns {VGeoViewCut}
|
|
43
|
-
*/
|
|
44
|
-
get cut(): VGeoViewCut;
|
|
45
|
-
/**
|
|
46
|
-
* Geometries being extracted.
|
|
47
|
-
* @returns {number}
|
|
48
|
-
*/
|
|
49
|
-
get job_count(): number;
|
|
50
|
-
/**
|
|
51
|
-
* Geometries asked for that wait for a job, those let go since included.
|
|
29
|
+
* Virtual geometries whose proxy is asked for and has not arrived.
|
|
52
30
|
* @returns {number}
|
|
53
31
|
*/
|
|
54
|
-
get
|
|
32
|
+
get pending_count(): number;
|
|
55
33
|
/**
|
|
56
|
-
*
|
|
34
|
+
* Virtual geometries standing in through their proxy.
|
|
57
35
|
* @returns {number}
|
|
58
36
|
*/
|
|
59
|
-
get
|
|
37
|
+
get applied_count(): number;
|
|
60
38
|
/**
|
|
61
|
-
*
|
|
39
|
+
* Proxies that could not be had.
|
|
62
40
|
* @returns {number}
|
|
63
41
|
*/
|
|
64
|
-
get
|
|
42
|
+
get failed_count(): number;
|
|
65
43
|
/**
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Entries the cluster list holds.
|
|
72
|
-
* @returns {number}
|
|
44
|
+
* The proxy a virtual geometry stands in through, once applied.
|
|
45
|
+
*
|
|
46
|
+
* @param {GPUGeometryMetadata} record the virtual geometry's
|
|
47
|
+
* @returns {MeshletGeometry|undefined}
|
|
73
48
|
*/
|
|
74
|
-
|
|
49
|
+
proxy_of(record: GPUGeometryMetadata): MeshletGeometry | undefined;
|
|
75
50
|
/**
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
* @param {FrameGraph} graph
|
|
51
|
+
* Hear no more of the caches. The proxies applied stay with the geometry manager, as stand-ins their geometries
|
|
52
|
+
* are aliased to: removing one under its alias would leave its geometry's holders holding a geometry let go.
|
|
80
53
|
*/
|
|
81
|
-
graph_update(graph: FrameGraph): void;
|
|
82
54
|
destroy(): void;
|
|
83
55
|
#private;
|
|
84
56
|
}
|
|
85
|
-
export type FrameGraph = import("../../../../../engine/graphics/render/frame_graph/FrameGraph.js").FrameGraph;
|
|
86
57
|
export type GPUGeometryManager = import("../../GPUGeometryManager.js").GPUGeometryManager;
|
|
87
58
|
export type GPUGeometryMetadata = import("../../GPUGeometryMetadata.js").GPUGeometryMetadata;
|
|
88
59
|
export type MeshletGeometry = import("../../MeshletGeometry.js").MeshletGeometry;
|
|
89
|
-
export type GPUVirtualGeometryRuntime = import("../runtime/GPUVirtualGeometryRuntime.js").GPUVirtualGeometryRuntime;
|
|
90
|
-
import { VGeoViewCut } from "../runtime/VGeoViewCut.js";
|
|
91
60
|
//# sourceMappingURL=VGeoSDFProxies.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VGeoSDFProxies.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/geometry/virtual/sdf/VGeoSDFProxies.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"VGeoSDFProxies.d.ts","sourceRoot":"","sources":["../../../../../../../src/shade/renderer/geometry/virtual/sdf/VGeoSDFProxies.js"],"names":[],"mappings":"AAsBA;;;;;;;;;;;;;;;;;;GAkBG;AACH;IAwBI;;;OAGG;IACH;QAFuC,UAAU,EAAtC,kBAAkB;OAU5B;IAED;;;OAGG;IACH,4BAEC;IAED;;;OAGG;IACH,4BAEC;IAED;;;OAGG;IACH,2BAEC;IAED;;;;;OAKG;IACH,iBAHW,mBAAmB,GACjB,eAAe,GAAC,SAAS,CAMrC;IAgED;;;OAGG;IACH,gBAcC;;CACJ;iCAjMY,OAAO,6BAA6B,EAAE,kBAAkB;kCACxD,OAAO,8BAA8B,EAAE,mBAAmB;8BAC1D,OAAO,0BAA0B,EAAE,eAAe"}
|