@aura3d/rendering 4.3.7 → 4.6.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.
- package/dist/DepthPass.d.ts +7 -0
- package/dist/DepthPass.d.ts.map +1 -1
- package/dist/DepthPass.js +43 -6
- package/dist/DepthPass.js.map +1 -1
- package/dist/ForwardPass.d.ts +82 -5
- package/dist/ForwardPass.d.ts.map +1 -1
- package/dist/ForwardPass.js +180 -35
- package/dist/ForwardPass.js.map +1 -1
- package/dist/MaterialBinding.js +6 -2
- package/dist/MaterialBinding.js.map +1 -1
- package/dist/RenderDevice.d.ts +5 -0
- package/dist/RenderDevice.d.ts.map +1 -1
- package/dist/RenderDevice.js.map +1 -1
- package/dist/Renderer.d.ts +8 -0
- package/dist/Renderer.d.ts.map +1 -1
- package/dist/Renderer.js +37 -6
- package/dist/Renderer.js.map +1 -1
- package/dist/RendererPostprocessPlan.d.ts.map +1 -1
- package/dist/RendererPostprocessPlan.js +8 -1
- package/dist/RendererPostprocessPlan.js.map +1 -1
- package/dist/ShaderChunks.d.ts.map +1 -1
- package/dist/ShaderChunks.js +3 -1
- package/dist/ShaderChunks.js.map +1 -1
- package/dist/ShaderLibrary.d.ts.map +1 -1
- package/dist/ShaderLibrary.js +17 -5
- package/dist/ShaderLibrary.js.map +1 -1
- package/dist/ShaderLibraryCore.d.ts.map +1 -1
- package/dist/ShaderLibraryCore.js +2 -1
- package/dist/ShaderLibraryCore.js.map +1 -1
- package/dist/WebGL2Device.d.ts +19 -1
- package/dist/WebGL2Device.d.ts.map +1 -1
- package/dist/WebGL2Device.js +114 -37
- package/dist/WebGL2Device.js.map +1 -1
- package/dist/WebGL2StateCache.d.ts +22 -0
- package/dist/WebGL2StateCache.d.ts.map +1 -1
- package/dist/WebGL2StateCache.js +71 -42
- package/dist/WebGL2StateCache.js.map +1 -1
- package/dist/contracts/core.d.ts.map +1 -1
- package/dist/contracts/core.js +22 -2
- package/dist/contracts/core.js.map +1 -1
- package/dist/contracts/program.d.ts.map +1 -1
- package/dist/contracts/program.js +8 -1
- package/dist/contracts/program.js.map +1 -1
- package/dist/contracts/quality.d.ts +21 -0
- package/dist/contracts/quality.d.ts.map +1 -1
- package/dist/contracts/quality.js +5 -0
- package/dist/contracts/quality.js.map +1 -1
- package/dist/contracts/renderItem.d.ts +6 -0
- package/dist/contracts/renderItem.d.ts.map +1 -1
- package/dist/contracts/structuralMemo.d.ts +23 -0
- package/dist/contracts/structuralMemo.d.ts.map +1 -0
- package/dist/contracts/structuralMemo.js +81 -0
- package/dist/contracts/structuralMemo.js.map +1 -0
- package/dist/environment/EnvironmentCache.d.ts.map +1 -1
- package/dist/environment/EnvironmentCache.js +6 -1
- package/dist/environment/EnvironmentCache.js.map +1 -1
- package/dist/environment/FirstFrameGate.d.ts +23 -0
- package/dist/environment/FirstFrameGate.d.ts.map +1 -0
- package/dist/environment/FirstFrameGate.js +58 -0
- package/dist/environment/FirstFrameGate.js.map +1 -0
- package/dist/environment/Rgb9e5Cube.d.ts.map +1 -1
- package/dist/environment/Rgb9e5Cube.js +8 -4
- package/dist/environment/Rgb9e5Cube.js.map +1 -1
- package/dist/environment/probeBuild.d.ts +29 -0
- package/dist/environment/probeBuild.d.ts.map +1 -1
- package/dist/environment/probeBuild.js +124 -45
- package/dist/environment/probeBuild.js.map +1 -1
- package/dist/forward/Lighting.d.ts +43 -3
- package/dist/forward/Lighting.d.ts.map +1 -1
- package/dist/forward/Lighting.js +127 -17
- package/dist/forward/Lighting.js.map +1 -1
- package/dist/forward/contactShadowMaskStore.d.ts +41 -0
- package/dist/forward/contactShadowMaskStore.d.ts.map +1 -0
- package/dist/forward/contactShadowMaskStore.js +85 -0
- package/dist/forward/contactShadowMaskStore.js.map +1 -0
- package/dist/geometry/Shape.d.ts.map +1 -1
- package/dist/geometry/Shape.js +7 -2
- package/dist/geometry/Shape.js.map +1 -1
- package/dist/geometry/Support.d.ts +4 -0
- package/dist/geometry/Support.d.ts.map +1 -1
- package/dist/geometry/Support.js +3 -2
- package/dist/geometry/Support.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/passes/ContactShadowPass.d.ts +40 -3
- package/dist/passes/ContactShadowPass.d.ts.map +1 -1
- package/dist/passes/ContactShadowPass.js +73 -13
- package/dist/passes/ContactShadowPass.js.map +1 -1
- package/dist/passes/Prd02ContactShadowsContributor.d.ts +19 -0
- package/dist/passes/Prd02ContactShadowsContributor.d.ts.map +1 -1
- package/dist/passes/Prd02ContactShadowsContributor.js +179 -28
- package/dist/passes/Prd02ContactShadowsContributor.js.map +1 -1
- package/dist/post/v2Stages.d.ts.map +1 -1
- package/dist/post/v2Stages.js +2 -0
- package/dist/post/v2Stages.js.map +1 -1
- package/dist/program/ProgramFeatures.d.ts +6 -0
- package/dist/program/ProgramFeatures.d.ts.map +1 -1
- package/dist/program/ProgramFeatures.js +11 -5
- package/dist/program/ProgramFeatures.js.map +1 -1
- package/dist/program/ProgramGenerator.d.ts +6 -0
- package/dist/program/ProgramGenerator.d.ts.map +1 -1
- package/dist/program/ProgramGenerator.js +36 -1
- package/dist/program/ProgramGenerator.js.map +1 -1
- package/dist/program/ProgramKey.d.ts.map +1 -1
- package/dist/program/ProgramKey.js +4 -1
- package/dist/program/ProgramKey.js.map +1 -1
- package/dist/program/chunks/shadow_forward.glsl.d.ts +1 -1
- package/dist/program/chunks/shadow_forward.glsl.d.ts.map +1 -1
- package/dist/program/chunks/shadow_forward.glsl.js +4 -1
- package/dist/program/chunks/shadow_forward.glsl.js.map +1 -1
- package/dist/quality/DirectPath.d.ts +56 -0
- package/dist/quality/DirectPath.d.ts.map +1 -0
- package/dist/quality/DirectPath.js +74 -0
- package/dist/quality/DirectPath.js.map +1 -0
- package/dist/renderer/Background.d.ts +0 -5
- package/dist/renderer/Background.d.ts.map +1 -1
- package/dist/renderer/Background.js +56 -4
- package/dist/renderer/Background.js.map +1 -1
- package/dist/renderer/InstanceFrustumCull.d.ts +41 -0
- package/dist/renderer/InstanceFrustumCull.d.ts.map +1 -0
- package/dist/renderer/InstanceFrustumCull.js +138 -0
- package/dist/renderer/InstanceFrustumCull.js.map +1 -0
- package/dist/renderer/ShadowOrchestration.d.ts +2 -0
- package/dist/renderer/ShadowOrchestration.d.ts.map +1 -1
- package/dist/renderer/ShadowOrchestration.js +1 -0
- package/dist/renderer/ShadowOrchestration.js.map +1 -1
- package/dist/renderer/coreOutputPostRoute.d.ts +0 -5
- package/dist/renderer/coreOutputPostRoute.d.ts.map +1 -1
- package/dist/renderer/coreOutputPostRoute.js +12 -2
- package/dist/renderer/coreOutputPostRoute.js.map +1 -1
- package/dist/resources/InstanceBuffer.d.ts +2 -0
- package/dist/resources/InstanceBuffer.d.ts.map +1 -1
- package/dist/resources/InstanceBuffer.js +23 -0
- package/dist/resources/InstanceBuffer.js.map +1 -1
- package/dist/shaders/chunks/contact_shadow.glsl.d.ts +11 -6
- package/dist/shaders/chunks/contact_shadow.glsl.d.ts.map +1 -1
- package/dist/shaders/chunks/contact_shadow.glsl.js +41 -19
- package/dist/shaders/chunks/contact_shadow.glsl.js.map +1 -1
- package/dist/shaders/chunks/contact_shadow_mask.glsl.d.ts +12 -0
- package/dist/shaders/chunks/contact_shadow_mask.glsl.d.ts.map +1 -0
- package/dist/shaders/chunks/contact_shadow_mask.glsl.js +21 -0
- package/dist/shaders/chunks/contact_shadow_mask.glsl.js.map +1 -0
- package/dist/shaders/chunks/lighting_ibl.glsl.d.ts +6 -1
- package/dist/shaders/chunks/lighting_ibl.glsl.d.ts.map +1 -1
- package/dist/shaders/chunks/lighting_ibl.glsl.js +8 -2
- package/dist/shaders/chunks/lighting_ibl.glsl.js.map +1 -1
- package/dist/shadows/CascadeUse.d.ts +31 -0
- package/dist/shadows/CascadeUse.d.ts.map +1 -0
- package/dist/shadows/CascadeUse.js +60 -0
- package/dist/shadows/CascadeUse.js.map +1 -0
- package/dist/shadows/Prd02DepthShaderLibrary.d.ts +7 -1
- package/dist/shadows/Prd02DepthShaderLibrary.d.ts.map +1 -1
- package/dist/shadows/Prd02DepthShaderLibrary.js +12 -3
- package/dist/shadows/Prd02DepthShaderLibrary.js.map +1 -1
- package/dist/shadows/Prd02ShadowBridge.d.ts +12 -1
- package/dist/shadows/Prd02ShadowBridge.d.ts.map +1 -1
- package/dist/shadows/Prd02ShadowBridge.js +17 -5
- package/dist/shadows/Prd02ShadowBridge.js.map +1 -1
- package/dist/shadows/Prd02ShadowsContributor.d.ts +4 -0
- package/dist/shadows/Prd02ShadowsContributor.d.ts.map +1 -1
- package/dist/shadows/Prd02ShadowsContributor.js +3 -1
- package/dist/shadows/Prd02ShadowsContributor.js.map +1 -1
- package/dist/shadows/ShadowFilterTier.d.ts +51 -0
- package/dist/shadows/ShadowFilterTier.d.ts.map +1 -0
- package/dist/shadows/ShadowFilterTier.js +89 -0
- package/dist/shadows/ShadowFilterTier.js.map +1 -0
- package/dist/shadows/ShadowSystem.d.ts +15 -0
- package/dist/shadows/ShadowSystem.d.ts.map +1 -1
- package/dist/shadows/ShadowSystem.js +12 -2
- package/dist/shadows/ShadowSystem.js.map +1 -1
- package/dist/shadows/shadowLegacy.d.ts +12 -0
- package/dist/shadows/shadowLegacy.d.ts.map +1 -1
- package/dist/shadows/shadowLegacy.js +24 -0
- package/dist/shadows/shadowLegacy.js.map +1 -1
- package/dist/webgl2/BloomFusion.d.ts +31 -0
- package/dist/webgl2/BloomFusion.d.ts.map +1 -0
- package/dist/webgl2/BloomFusion.js +25 -0
- package/dist/webgl2/BloomFusion.js.map +1 -0
- package/dist/webgl2/ContextLifecycle.d.ts +14 -0
- package/dist/webgl2/ContextLifecycle.d.ts.map +1 -1
- package/dist/webgl2/ContextLifecycle.js +44 -5
- package/dist/webgl2/ContextLifecycle.js.map +1 -1
- package/dist/webgl2/LegacyPost.d.ts +30 -0
- package/dist/webgl2/LegacyPost.d.ts.map +1 -1
- package/dist/webgl2/LegacyPost.js +259 -27
- package/dist/webgl2/LegacyPost.js.map +1 -1
- package/dist/webgl2/MultiDraw.d.ts +2 -0
- package/dist/webgl2/MultiDraw.d.ts.map +1 -1
- package/dist/webgl2/MultiDraw.js +33 -7
- package/dist/webgl2/MultiDraw.js.map +1 -1
- package/dist/webgl2/Samplers.d.ts +10 -1
- package/dist/webgl2/Samplers.d.ts.map +1 -1
- package/dist/webgl2/Samplers.js +24 -1
- package/dist/webgl2/Samplers.js.map +1 -1
- package/dist/webgl2/TextureFormats.d.ts +12 -0
- package/dist/webgl2/TextureFormats.d.ts.map +1 -1
- package/dist/webgl2/TextureFormats.js +16 -0
- package/dist/webgl2/TextureFormats.js.map +1 -1
- package/package.json +3 -3
package/dist/DepthPass.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Material } from "./Material.js";
|
|
2
|
+
import { type RenderDevice } from "./RenderDevice.js";
|
|
2
3
|
import { BaseRenderPass, type RenderPassContext } from "./RenderPass.js";
|
|
3
4
|
import { type ShaderLibrary } from "./ShaderLibraryCore.js";
|
|
4
5
|
import { type RenderItem } from "./ForwardPass.js";
|
|
5
6
|
import type { DepthVariantFeature, ShadowCasterVariantKey } from "./contracts/shadows.js";
|
|
7
|
+
import { InstanceBuffer } from "./resources/InstanceBuffer.js";
|
|
6
8
|
export interface DepthPassOptions {
|
|
7
9
|
readonly casters: readonly RenderItem[];
|
|
8
10
|
readonly shaderLibrary?: ShaderLibrary;
|
|
@@ -26,6 +28,11 @@ export interface DepthPassOptions {
|
|
|
26
28
|
export declare class DepthMaterial extends Material {
|
|
27
29
|
constructor();
|
|
28
30
|
}
|
|
31
|
+
/** Most dense casters kept resident per device; the least recently drawn one is disposed past this. */
|
|
32
|
+
export declare const DEPTH_INSTANCE_BUFFER_CACHE_LIMIT = 64;
|
|
33
|
+
export declare function depthInstanceBufferFor(device: RenderDevice, key: object, matrices: Float32Array): InstanceBuffer;
|
|
34
|
+
/** Test and diagnostics hook: how many dense-caster instance buffers the device keeps resident. */
|
|
35
|
+
export declare function depthInstanceBufferCount(device: RenderDevice): number;
|
|
29
36
|
export declare class DepthPass extends BaseRenderPass {
|
|
30
37
|
private readonly options;
|
|
31
38
|
/**
|
package/dist/DepthPass.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepthPass.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/DepthPass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"DepthPass.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/DepthPass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAA8F,KAAK,YAAY,EAAkE,MAAM,gBAAgB,CAAC;AAC/M,OAAO,EAAE,cAAc,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtE,OAAO,EAA0D,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACjH,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAGvF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,YAAY,GAAG,SAAS,MAAM,EAAE,CAAC;IACjE;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,sBAAsB,CAAC;IACxE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC/D,sEAAsE;IACtE,QAAQ,CAAC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAChH;AAED,qBAAa,aAAc,SAAQ,QAAQ;;CAY1C;AAID,uGAAuG;AACvG,eAAO,MAAM,iCAAiC,KAAK,CAAC;AAWpD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,cAAc,CAsBhH;AAED,mGAAmG;AACnG,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAErE;AAED,qBAAa,SAAU,SAAQ,cAAc;IAmB/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAlBpC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAA8C;IAEnF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;gBAEnB,OAAO,EAAE,gBAAgB;IAKtD,OAAO,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAMzC,OAAO,CAAC,UAAU;IAoClB,gFAAgF;IAChF,OAAO,CAAC,iBAAiB;IAmFzB,OAAO,CAAC,SAAS;CAQlB"}
|
package/dist/DepthPass.js
CHANGED
|
@@ -7,6 +7,7 @@ import { createLeanCoreShaderLibrary, DEFAULT_DEPTH_SHADER_NAME } from "./Shader
|
|
|
7
7
|
import {} from "./ForwardPass.js";
|
|
8
8
|
import { prd02DepthProgram, prd02DepthVariantDefines, PRD02_DEPTH_MAX_INSTANCES } from "./shadows/Prd02DepthShaderLibrary.js";
|
|
9
9
|
import { identityMat4, multiplyMat4 } from "@aura3d/scene";
|
|
10
|
+
import { InstanceBuffer } from "./resources/InstanceBuffer.js";
|
|
10
11
|
export class DepthMaterial extends Material {
|
|
11
12
|
constructor() {
|
|
12
13
|
super({
|
|
@@ -21,6 +22,44 @@ export class DepthMaterial extends Material {
|
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
24
|
const DEPTH_INSTANCE_ATTRIBUTE_NAMES = ["a_instanceMatrix0", "a_instanceMatrix1", "a_instanceMatrix2", "a_instanceMatrix3"];
|
|
25
|
+
/** Most dense casters kept resident per device; the least recently drawn one is disposed past this. */
|
|
26
|
+
export const DEPTH_INSTANCE_BUFFER_CACHE_LIMIT = 64;
|
|
27
|
+
/**
|
|
28
|
+
* SI-6: persistent per-caster instance buffers for dense (attribute-mode) depth draws, per device. The key is the caster's
|
|
29
|
+
* `instanceTransforms` array, which the renderer passes through from the node unchanged frame to frame. Every cascade draws the same
|
|
30
|
+
* casters, so after the first cascade of a frame `InstanceBuffer.setMatrices` finds identical contents and skips the upload, and the VAO
|
|
31
|
+
* keyed by the buffer id stays cached. Before this each dense caster created and disposed a vertex buffer and a VAO per cascade per frame.
|
|
32
|
+
* Map order is LRU order (a hit is re-inserted at the end).
|
|
33
|
+
*/
|
|
34
|
+
const depthInstanceBuffers = new WeakMap();
|
|
35
|
+
export function depthInstanceBufferFor(device, key, matrices) {
|
|
36
|
+
let cache = depthInstanceBuffers.get(device);
|
|
37
|
+
if (!cache) {
|
|
38
|
+
cache = new Map();
|
|
39
|
+
depthInstanceBuffers.set(device, cache);
|
|
40
|
+
}
|
|
41
|
+
const count = Math.floor(matrices.length / 16);
|
|
42
|
+
let entry = cache.get(key);
|
|
43
|
+
if (entry)
|
|
44
|
+
cache.delete(key);
|
|
45
|
+
if (!entry || entry.capacity < count || entry.buffer.bind().matrixBuffer.disposed) {
|
|
46
|
+
entry?.buffer.dispose();
|
|
47
|
+
const capacity = Math.max(16, 2 ** Math.ceil(Math.log2(Math.max(1, count))));
|
|
48
|
+
entry = { buffer: new InstanceBuffer(device, capacity), capacity };
|
|
49
|
+
}
|
|
50
|
+
cache.set(key, entry);
|
|
51
|
+
while (cache.size > DEPTH_INSTANCE_BUFFER_CACHE_LIMIT) {
|
|
52
|
+
const [oldestKey, oldest] = cache.entries().next().value;
|
|
53
|
+
cache.delete(oldestKey);
|
|
54
|
+
oldest.buffer.dispose();
|
|
55
|
+
}
|
|
56
|
+
entry.buffer.setMatrices(matrices, count);
|
|
57
|
+
return entry.buffer;
|
|
58
|
+
}
|
|
59
|
+
/** Test and diagnostics hook: how many dense-caster instance buffers the device keeps resident. */
|
|
60
|
+
export function depthInstanceBufferCount(device) {
|
|
61
|
+
return depthInstanceBuffers.get(device)?.size ?? 0;
|
|
62
|
+
}
|
|
24
63
|
export class DepthPass extends BaseRenderPass {
|
|
25
64
|
options;
|
|
26
65
|
/**
|
|
@@ -49,7 +88,8 @@ export class DepthPass extends BaseRenderPass {
|
|
|
49
88
|
this.drawCaster(context.device, caster);
|
|
50
89
|
}
|
|
51
90
|
}
|
|
52
|
-
drawCaster(device,
|
|
91
|
+
drawCaster(device, source) {
|
|
92
|
+
const caster = source.shadowGeometry !== undefined && source.drawRange === undefined ? { ...source, geometry: source.shadowGeometry } : source;
|
|
53
93
|
const vertexBuffer = caster.geometry.vertexBuffer.upload(device);
|
|
54
94
|
const indexBuffer = caster.geometry.indexBuffer?.upload(device);
|
|
55
95
|
const drawRange = resolveDepthDrawRange(caster.geometry, caster.drawRange);
|
|
@@ -88,17 +128,15 @@ export class DepthPass extends BaseRenderPass {
|
|
|
88
128
|
const features = this.options.depthVariantFeatures ?? [];
|
|
89
129
|
const shader = prd02DepthProgram(device, this.shaderLibrary, variant, features);
|
|
90
130
|
const skinning = caster.skinning;
|
|
91
|
-
const instanceTransforms = caster.instanceTransforms ? Float32Array.from(caster.instanceTransforms) : null;
|
|
131
|
+
const instanceTransforms = caster.instanceTransforms instanceof Float32Array ? caster.instanceTransforms : caster.instanceTransforms ? Float32Array.from(caster.instanceTransforms) : null;
|
|
92
132
|
const instanceTotal = instanceTransforms ? instanceTransforms.length / 16 : 1;
|
|
93
133
|
// More instances than the uniform array holds ride a per-instance vertex-attribute buffer: one draw for the whole set
|
|
94
134
|
// instead of ceil(n / 64) draws per cascade (a forest of 2,000 trees was 32 draws in every cascade).
|
|
95
135
|
const attributeMode = Boolean(variant.instanced && instanceTransforms && instanceTotal > PRD02_DEPTH_MAX_INSTANCES && variant.features["prd02.depthInstanceAttr"] !== undefined);
|
|
96
136
|
const batchCount = variant.instanced && instanceTransforms && !attributeMode ? Math.ceil(instanceTotal / PRD02_DEPTH_MAX_INSTANCES) : 1;
|
|
97
|
-
let instanceBuffer = null;
|
|
98
137
|
let instanceAttributes = null;
|
|
99
138
|
if (attributeMode && instanceTransforms) {
|
|
100
|
-
|
|
101
|
-
const buffer = instanceBuffer;
|
|
139
|
+
const buffer = depthInstanceBufferFor(device, caster.instanceTransforms, instanceTransforms).bind().matrixBuffer;
|
|
102
140
|
instanceAttributes = DEPTH_INSTANCE_ATTRIBUTE_NAMES.map((shaderName, column) => ({ buffer, shaderName, components: 4, offset: column * 16, stride: 64, divisor: 1 }));
|
|
103
141
|
}
|
|
104
142
|
for (let batch = 0; batch < batchCount; batch += 1) {
|
|
@@ -162,7 +200,6 @@ export class DepthPass extends BaseRenderPass {
|
|
|
162
200
|
}
|
|
163
201
|
device.draw(command);
|
|
164
202
|
}
|
|
165
|
-
instanceBuffer?.dispose();
|
|
166
203
|
}
|
|
167
204
|
getShader(device) {
|
|
168
205
|
let module = DepthPass.shaderModules.get(this.shaderLibrary);
|
package/dist/DepthPass.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepthPass.js","sourceRoot":"","sources":["../../../../packages/rendering/src/DepthPass.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DepthPass.js","sourceRoot":"","sources":["../../../../packages/rendering/src/DepthPass.ts"],"names":[],"mappings":"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"}
|
package/dist/ForwardPass.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ import { BaseRenderPass, type RenderPassContext } from "./RenderPass.js";
|
|
|
6
6
|
import { type SkinningCpuFallbackReason } from "./WebGPUSkinningLimits.js";
|
|
7
7
|
import { type ShaderLibrary } from "./ShaderLibraryCore.js";
|
|
8
8
|
import { type ShadowFilterKernel } from "./ShadowMap.js";
|
|
9
|
+
import type { ShadowPcfTapTier } from "./shadows/ShadowFilterTier.js";
|
|
9
10
|
import type { ForwardSpotShadowMapOptions } from "./shadows/SpotShadowMaps.js";
|
|
10
11
|
import { TextureBinding } from "./TextureBinding.js";
|
|
11
12
|
import { type RenderItem } from "./contracts/renderItem.js";
|
|
@@ -146,6 +147,18 @@ export interface EnvironmentLightingOptions {
|
|
|
146
147
|
* conjunction; absent/null everywhere else, where no code reads it.
|
|
147
148
|
*/
|
|
148
149
|
readonly environmentProbe?: EnvironmentProbe | null;
|
|
150
|
+
/**
|
|
151
|
+
* LIGHT-05/08: authored hemisphere lights as a directional sky/ground pair (linear rgb, premultiplied by
|
|
152
|
+
* intensity; `direction` is the light's unit up). `color`/`intensity` already include the pair's flat mean
|
|
153
|
+
* (mean(sky, ground), its horizontal-normal value) so every program that reads only the ambient scalar keeps the
|
|
154
|
+
* hemisphere; the PRD-02 IBL pack (`applyPrd02EnvironmentUniforms`) takes that mean back out of the ambient and
|
|
155
|
+
* binds the pair to `u_hemiSky`/`u_hemiGround`/`u_hemiDirection`, which the chunk evaluates per normal.
|
|
156
|
+
*/
|
|
157
|
+
readonly hemisphere?: {
|
|
158
|
+
readonly sky: readonly [number, number, number];
|
|
159
|
+
readonly ground: readonly [number, number, number];
|
|
160
|
+
readonly direction: readonly [number, number, number];
|
|
161
|
+
} | null;
|
|
149
162
|
}
|
|
150
163
|
export interface ProceduralEnvironmentMapLightingOptions {
|
|
151
164
|
readonly skyColor: readonly [number, number, number];
|
|
@@ -191,6 +204,11 @@ export interface ForwardShadowMapOptions {
|
|
|
191
204
|
readonly normalBias?: number;
|
|
192
205
|
readonly texelSize?: readonly [number, number];
|
|
193
206
|
readonly filterKernel?: ShadowFilterKernel;
|
|
207
|
+
/**
|
|
208
|
+
* PCF tap-count cap (32 / 16 / 8). A kernel with more taps is reduced to this many at upload; a kernel
|
|
209
|
+
* within the cap, and an unset tier, are used as authored (PRD-2 WP-3, `shadows/ShadowFilterTier.ts`).
|
|
210
|
+
*/
|
|
211
|
+
readonly pcfTapTier?: ShadowPcfTapTier;
|
|
194
212
|
readonly pointLight?: ForwardPointShadowMapOptions;
|
|
195
213
|
/**
|
|
196
214
|
* B1 spot shadow path (muse3jsparity-PRD): perspective spot shadow uniforms.
|
|
@@ -229,8 +247,7 @@ export declare class ForwardPass extends BaseRenderPass {
|
|
|
229
247
|
private generatorProgramCache;
|
|
230
248
|
private static readonly pipelineCaches;
|
|
231
249
|
private static readonly uniformPacketPools;
|
|
232
|
-
private static readonly
|
|
233
|
-
private instanceSlotCursor;
|
|
250
|
+
private static readonly instanceSlotAllocators;
|
|
234
251
|
private static readonly vertexFormatIds;
|
|
235
252
|
private static nextVertexFormatId;
|
|
236
253
|
private static readonly renderStateIds;
|
|
@@ -239,9 +256,16 @@ export declare class ForwardPass extends BaseRenderPass {
|
|
|
239
256
|
private static nextRequiredAttributeId;
|
|
240
257
|
private frameWidth;
|
|
241
258
|
private frameHeight;
|
|
259
|
+
private contactMaskScope;
|
|
242
260
|
constructor(options: ForwardPassOptions);
|
|
243
261
|
execute(context: RenderPassContext): void;
|
|
244
262
|
private drawItem;
|
|
263
|
+
/**
|
|
264
|
+
* Per-instance frustum culling for large instanced items (see renderer/InstanceFrustumCull.ts). Only the main camera of this pass is used,
|
|
265
|
+
* and only for plain meshes: skinned/morphed/custom-attribute items, custom shader materials (vertex displacement) and items that opt out
|
|
266
|
+
* with `frustumCulled: false` always draw every instance.
|
|
267
|
+
*/
|
|
268
|
+
private cullInstancesToView;
|
|
245
269
|
/**
|
|
246
270
|
* Generated-path instancing (Phase 6): attribute matrices only — the
|
|
247
271
|
* `u_instanceMatrices[64]` uniform path exists solely in the frozen legacy
|
|
@@ -276,12 +300,48 @@ export declare class ForwardPass extends BaseRenderPass {
|
|
|
276
300
|
*/
|
|
277
301
|
private pipelineFor;
|
|
278
302
|
/**
|
|
279
|
-
* Persistent attribute-matrix slot for the generated path (Phase 6): slots
|
|
280
|
-
*
|
|
281
|
-
*
|
|
303
|
+
* Persistent attribute-matrix slot for the generated path (Phase 6). SI-3: slots are keyed by the item's
|
|
304
|
+
* transform array (its owner), not by draw order inside one pass. The order-keyed cursor restarted at 0 in every
|
|
305
|
+
* ForwardPass, so the opaque pass and each transparent segment wrote different items into slot 0 and the
|
|
306
|
+
* content-compare upload skip never hit when several passes drew instanced items.
|
|
282
307
|
*/
|
|
283
308
|
private instanceSlotFor;
|
|
284
309
|
}
|
|
310
|
+
/**
|
|
311
|
+
* SI-3: owner-keyed pool of persistent instance buffers. The owner is the item label (with its occurrence index in
|
|
312
|
+
* the pass, so two items sharing a label keep two slots), or the transform array when the item has no label; labels
|
|
313
|
+
* survive the per-frame RenderItem rebuilds that replace arrays. `acquire(owner)` returns the slot that owner used last
|
|
314
|
+
* (re-created only when its capacity or colour layout no longer fits); a new owner takes a slot idle for at least
|
|
315
|
+
* `staleAfterPasses` pass executions, then a new slot up to `maxSlots`, then the least recently used one. Sharing a
|
|
316
|
+
* slot between two draws is still correct (GL orders the uploads), it only costs a re-upload.
|
|
317
|
+
*/
|
|
318
|
+
export declare class InstanceSlotAllocator<B> {
|
|
319
|
+
private readonly create;
|
|
320
|
+
private readonly dispose;
|
|
321
|
+
private readonly maxSlots;
|
|
322
|
+
private readonly staleAfterPasses;
|
|
323
|
+
private readonly slots;
|
|
324
|
+
private readonly byOwner;
|
|
325
|
+
private readonly labelCounts;
|
|
326
|
+
private pass;
|
|
327
|
+
constructor(create: (capacity: number, colors: boolean) => B, dispose: (buffer: B) => void, maxSlots?: number, staleAfterPasses?: number);
|
|
328
|
+
/** One pass execution started (the idle clock). */
|
|
329
|
+
beginPass(): void;
|
|
330
|
+
/** `label#n`: the n-th draw with this label in the current pass. */
|
|
331
|
+
labelKey(label: string): string;
|
|
332
|
+
get size(): number;
|
|
333
|
+
acquire(owner: object | string, count: number, colors: boolean): {
|
|
334
|
+
readonly buffer: B;
|
|
335
|
+
readonly capacity: number;
|
|
336
|
+
};
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Items the per-instance frustum cull must draw whole: three's `frustumCulled: false`, CPU-unknown vertex motion
|
|
340
|
+
* (skinning, morphs, custom attributes, custom shader materials), draw ranges, and SI-8 `prd10.wind` vegetation. Wind
|
|
341
|
+
* bends a plant's top by up to about 0.74 of its height while the cull sphere (1.15 x the bounds radius) covers about
|
|
342
|
+
* 0.625 of it, so a strongly bent plant at the view edge was culled while still on screen.
|
|
343
|
+
*/
|
|
344
|
+
export declare function instanceCullExcluded(item: Pick<RenderItem, "frustumCulled" | "skinning" | "morphTargets" | "morphWeights" | "instanceAttributes" | "drawRange" | "label">, customShaderMaterial: boolean): boolean;
|
|
285
345
|
/**
|
|
286
346
|
* Pass-owned feature axes (C-02): lights/shadows/environment/fog shared by every
|
|
287
347
|
* material in the pass. `clustered` is the pass's resolved state; above
|
|
@@ -405,6 +465,23 @@ export declare function prd02IblEnvironmentAvailable(environment: EnvironmentLig
|
|
|
405
465
|
* conjunction-off every draw stays byte-identical.
|
|
406
466
|
*/
|
|
407
467
|
export declare function applyPrd02EnvironmentUniforms(environment: EnvironmentLightingOptions | undefined, item: RenderItem, material: Material | MaterialInstance, uniforms: Map<string, UniformValue>): void;
|
|
468
|
+
/**
|
|
469
|
+
* LIGHT-05/08: splits the pass ambient (which carries the hemisphere's flat mean for the programs that read only
|
|
470
|
+
* the ambient scalar) back into the constant ambient and the directional hemisphere pair for the PRD-02 chunk.
|
|
471
|
+
* With no hemisphere the ambient is passed through unchanged (byte-identical packet).
|
|
472
|
+
*/
|
|
473
|
+
export declare function prd02AmbientAndHemisphere(env: EnvironmentLightingOptions): {
|
|
474
|
+
readonly ambient: {
|
|
475
|
+
readonly color: readonly [number, number, number];
|
|
476
|
+
readonly intensity: number;
|
|
477
|
+
};
|
|
478
|
+
readonly hemisphere?: {
|
|
479
|
+
readonly sky: readonly [number, number, number];
|
|
480
|
+
readonly ground: readonly [number, number, number];
|
|
481
|
+
readonly intensity: number;
|
|
482
|
+
readonly direction: readonly [number, number, number];
|
|
483
|
+
};
|
|
484
|
+
};
|
|
408
485
|
export declare function toMat4Uniform(value: Float32Array | readonly number[], field: string, label?: string): Float32Array;
|
|
409
486
|
export declare function identityMatrix(): readonly number[];
|
|
410
487
|
/** C-04 bucket an item lands in for the v2 frame-order split (§9.1). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ForwardPass.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/ForwardPass.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ForwardPass.d.ts","sourceRoot":"","sources":["../../../../packages/rendering/src/ForwardPass.ts"],"names":[],"mappings":"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"}
|