@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
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
* the sampling VP (`viewProjection`, biased to [0,1]³) is what the forward
|
|
13
13
|
* pass multiplies world positions by before comparing.
|
|
14
14
|
*/
|
|
15
|
+
import type { ShadowPcfTapTier } from "./ShadowFilterTier.js";
|
|
15
16
|
import type { RenderDevice } from "../RenderDevice.js";
|
|
16
17
|
import type { Texture } from "../Texture.js";
|
|
17
18
|
import type { RenderItem } from "../contracts/renderItem.js";
|
|
@@ -20,6 +21,7 @@ import type { FrameCamera } from "../contracts/frameGraph.js";
|
|
|
20
21
|
import type { QrFlags } from "../contracts/core.js";
|
|
21
22
|
import type { AuraQualityTierSettings } from "../contracts/quality.js";
|
|
22
23
|
import { type CascadeFitterCamera, type DirectionalCascadeFit } from "./DirectionalCascadeFitter.js";
|
|
24
|
+
import { type CascadeUseCamera } from "./CascadeUse.js";
|
|
23
25
|
import type { ShaderLibrary } from "../ShaderLibraryCore.js";
|
|
24
26
|
/** Structural match of the compiler's ShadowSystemConfig (engine-side type). */
|
|
25
27
|
export interface ShadowSystemConfigInput {
|
|
@@ -32,6 +34,8 @@ export interface ShadowSystemConfigInput {
|
|
|
32
34
|
readonly strength: number;
|
|
33
35
|
readonly bias: number;
|
|
34
36
|
readonly normalBias: number;
|
|
37
|
+
/** PCF tap-count cap (PRD-2 WP-3), read by Prd02ShadowBridge and passed to the forward shader; unset keeps the kernel as authored. */
|
|
38
|
+
readonly pcfTapTier?: ShadowPcfTapTier;
|
|
35
39
|
}
|
|
36
40
|
export interface ShadowSystemSun {
|
|
37
41
|
readonly direction: readonly [number, number, number];
|
|
@@ -52,6 +56,15 @@ export interface ShadowSystemFrame {
|
|
|
52
56
|
readonly localLights?: readonly ShadowSystemLocalLight[];
|
|
53
57
|
readonly flags: QrFlags;
|
|
54
58
|
readonly tier: AuraQualityTierSettings;
|
|
59
|
+
/**
|
|
60
|
+
* PRD-2 WP-7: the frame's receivers and eye. When present, a cascade no receiver can select (`unusedCascadeIndices`) gets its target
|
|
61
|
+
* allocated but is not redrawn: the legacy forward path never samples it, so no pixel changes. Absent: every cascade is rendered.
|
|
62
|
+
*/
|
|
63
|
+
readonly cascadeUse?: {
|
|
64
|
+
readonly receivers: readonly RenderItem[];
|
|
65
|
+
/** What the forward pass gets as `cameraViewMatrix` / `cameraPosition` (see `CascadeUseCamera`). */
|
|
66
|
+
readonly camera: CascadeUseCamera;
|
|
67
|
+
};
|
|
55
68
|
}
|
|
56
69
|
/** ShadowFrameUniforms plus the extra bindings the PRD-02 forward path needs. */
|
|
57
70
|
export interface Prd02ShadowFrameUniforms extends ShadowFrameUniforms {
|
|
@@ -73,6 +86,7 @@ export declare class Prd02ShadowSystem {
|
|
|
73
86
|
private lastTiles;
|
|
74
87
|
private lastVariants;
|
|
75
88
|
private lastDropped;
|
|
89
|
+
private lastSkippedCascades;
|
|
76
90
|
private readonly shaderLibrary;
|
|
77
91
|
private depthFeatures;
|
|
78
92
|
private precompiled;
|
|
@@ -90,6 +104,7 @@ export declare class Prd02ShadowSystem {
|
|
|
90
104
|
readonly localLights: number;
|
|
91
105
|
readonly casterVariants: readonly string[];
|
|
92
106
|
readonly droppedFeatures: readonly string[];
|
|
107
|
+
readonly skippedCascades: readonly number[];
|
|
93
108
|
};
|
|
94
109
|
/**
|
|
95
110
|
* GPU evidence probe (shadow-pixels investigation): min/max/mean of each
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShadowSystem.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/ShadowSystem.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"ShadowSystem.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/ShadowSystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ import { shadowCasterVariantId } from "../contracts/shadows.js";
|
|
|
17
17
|
import { shadowFitLegacy } from "./shadowLegacy.js";
|
|
18
18
|
import { fitDirectionalCascades, isOversizeShadowCaster } from "./DirectionalCascadeFitter.js";
|
|
19
19
|
import { planLocalShadowAtlas } from "./ShadowAtlas.js";
|
|
20
|
+
import { unusedCascadeIndices } from "./CascadeUse.js";
|
|
20
21
|
import { activeDepthFeatures, depthDeformIncompatibility, ensurePrd02DepthFeatures, prd02DepthFeatures, resolvePrd02ShadowCasterVariant, precompilePrd02DepthVariants, registerPrd02DepthShader } from "./Prd02DepthShaderLibrary.js";
|
|
21
22
|
import { createLeanCoreShaderLibrary } from "../ShaderLibraryCore.js";
|
|
22
23
|
const ATLAS_SIZE = 1024;
|
|
@@ -31,6 +32,7 @@ export class Prd02ShadowSystem {
|
|
|
31
32
|
lastTiles = [];
|
|
32
33
|
lastVariants = [];
|
|
33
34
|
lastDropped = [];
|
|
35
|
+
lastSkippedCascades = [];
|
|
34
36
|
shaderLibrary;
|
|
35
37
|
depthFeatures;
|
|
36
38
|
precompiled = false;
|
|
@@ -104,7 +106,11 @@ export class Prd02ShadowSystem {
|
|
|
104
106
|
variantKeys.set(shadowCasterVariantId(key), { key, features: this.depthFeatures });
|
|
105
107
|
}
|
|
106
108
|
this.lastVariants = [...variantKeys.keys()].sort();
|
|
107
|
-
|
|
109
|
+
const skip = frame.cascadeUse
|
|
110
|
+
? unusedCascadeIndices(this.lastFits, frame.cascadeUse.receivers, frame.cascadeUse.camera)
|
|
111
|
+
: undefined;
|
|
112
|
+
this.lastSkippedCascades = skip ? [...skip].sort() : [];
|
|
113
|
+
this.renderCascades(casters, resolve, skip);
|
|
108
114
|
this.renderAtlas(casters, resolve);
|
|
109
115
|
return this.frameUniforms();
|
|
110
116
|
}
|
|
@@ -129,6 +135,7 @@ export class Prd02ShadowSystem {
|
|
|
129
135
|
/** Diagnostics for the C-31 `shadows` section (observed values only). */
|
|
130
136
|
diagnostics() {
|
|
131
137
|
return {
|
|
138
|
+
skippedCascades: this.lastSkippedCascades,
|
|
132
139
|
cascadeCount: this.lastFits.length,
|
|
133
140
|
tiles: this.lastTiles.length,
|
|
134
141
|
localLights: new Set(this.lastTiles.map((tile) => tile.lightIndex)).size,
|
|
@@ -219,13 +226,16 @@ export class Prd02ShadowSystem {
|
|
|
219
226
|
...(scissor ? { scissor } : {})
|
|
220
227
|
};
|
|
221
228
|
}
|
|
222
|
-
renderCascades(casters, resolve) {
|
|
229
|
+
renderCascades(casters, resolve, skip) {
|
|
223
230
|
if (casters.length === 0)
|
|
224
231
|
return;
|
|
225
232
|
const prevTarget = this.device.getRenderTarget?.() ?? null;
|
|
226
233
|
try {
|
|
227
234
|
for (const fit of this.lastFits) {
|
|
228
235
|
const target = this.ensureCascadeTarget(fit.index);
|
|
236
|
+
// Allocated (the frame uniforms need its texture) but never sampled this frame: no clear, no casters.
|
|
237
|
+
if (skip?.has(fit.index))
|
|
238
|
+
continue;
|
|
229
239
|
this.device.setRenderTarget(target);
|
|
230
240
|
this.device.clearRenderTarget?.([1, 1, 1, 1]);
|
|
231
241
|
new DepthPass(this.depthPassOptions(casters, resolve, fit.drawViewProjection))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShadowSystem.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/ShadowSystem.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ShadowSystem.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/ShadowSystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,4 +11,16 @@
|
|
|
11
11
|
export type ShadowFitMode = "legacy" | "current";
|
|
12
12
|
export declare function shadowFitMode(): ShadowFitMode;
|
|
13
13
|
export declare const shadowFitLegacy: () => boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Dense instanced casters (one node with at least this many instances AND an engine-assigned instanced shadow proxy,
|
|
16
|
+
* `RenderItem.shadowGeometry`) draw their depth through a per-instance attribute buffer even in the default (legacy) fit: one draw
|
|
17
|
+
* per node per cascade instead of ceil(n / 64). The proxy requirement is what bounds the set of nodes this touches: builtin
|
|
18
|
+
* primitives on the qr core path with a strictly cheaper proxy. Instanced GLB or model nodes, custom or authored geometry, boxes and
|
|
19
|
+
* every node below the threshold keep the 4.2.0 uniform-array batches exactly. The threshold equals
|
|
20
|
+
* `INSTANCED_SHADOW_PROXY_MIN_INSTANCES` in the engine (the forest benchmark: 8,000 / 8,000 / 2,000 instances, 282 depth draws per
|
|
21
|
+
* cascade become 3).
|
|
22
|
+
*/
|
|
23
|
+
export declare const DENSE_DEPTH_INSTANCE_MIN = 1024;
|
|
24
|
+
/** `globalThis.__A3D_DENSE_DEPTH_DRAWS__ = "off"` (or `?densedepth=off`) restores uniform-array batches for dense casters. */
|
|
25
|
+
export declare function denseDepthDrawsEnabled(): boolean;
|
|
14
26
|
//# sourceMappingURL=shadowLegacy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadowLegacy.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/shadowLegacy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjD,wBAAgB,aAAa,IAAI,aAAa,CAU7C;AAED,eAAO,MAAM,eAAe,QAAO,OAAuC,CAAC"}
|
|
1
|
+
{"version":3,"file":"shadowLegacy.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/shadowLegacy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjD,wBAAgB,aAAa,IAAI,aAAa,CAU7C;AAED,eAAO,MAAM,eAAe,QAAO,OAAuC,CAAC;AAE3E;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,OAAO,CAAC;AAE7C,8HAA8H;AAC9H,wBAAgB,sBAAsB,IAAI,OAAO,CAUhD"}
|
|
@@ -12,4 +12,28 @@ export function shadowFitMode() {
|
|
|
12
12
|
return value === "current" ? "current" : "legacy";
|
|
13
13
|
}
|
|
14
14
|
export const shadowFitLegacy = () => shadowFitMode() === "legacy";
|
|
15
|
+
/**
|
|
16
|
+
* Dense instanced casters (one node with at least this many instances AND an engine-assigned instanced shadow proxy,
|
|
17
|
+
* `RenderItem.shadowGeometry`) draw their depth through a per-instance attribute buffer even in the default (legacy) fit: one draw
|
|
18
|
+
* per node per cascade instead of ceil(n / 64). The proxy requirement is what bounds the set of nodes this touches: builtin
|
|
19
|
+
* primitives on the qr core path with a strictly cheaper proxy. Instanced GLB or model nodes, custom or authored geometry, boxes and
|
|
20
|
+
* every node below the threshold keep the 4.2.0 uniform-array batches exactly. The threshold equals
|
|
21
|
+
* `INSTANCED_SHADOW_PROXY_MIN_INSTANCES` in the engine (the forest benchmark: 8,000 / 8,000 / 2,000 instances, 282 depth draws per
|
|
22
|
+
* cascade become 3).
|
|
23
|
+
*/
|
|
24
|
+
export const DENSE_DEPTH_INSTANCE_MIN = 1024;
|
|
25
|
+
/** `globalThis.__A3D_DENSE_DEPTH_DRAWS__ = "off"` (or `?densedepth=off`) restores uniform-array batches for dense casters. */
|
|
26
|
+
export function denseDepthDrawsEnabled() {
|
|
27
|
+
const g = globalThis;
|
|
28
|
+
let value = g.__A3D_DENSE_DEPTH_DRAWS__;
|
|
29
|
+
try {
|
|
30
|
+
const q = typeof g.location?.search === "string" ? new URLSearchParams(g.location.search).get("densedepth") : null;
|
|
31
|
+
if (q === "off" || q === "on")
|
|
32
|
+
value = q;
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
// no location (node, workers): fall through to the global
|
|
36
|
+
}
|
|
37
|
+
return value !== "off";
|
|
38
|
+
}
|
|
15
39
|
//# sourceMappingURL=shadowLegacy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadowLegacy.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/shadowLegacy.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,GAAG,UAA6E,CAAC;IACxF,IAAI,KAAK,GAAG,CAAC,CAAC,kBAAkB,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClH,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,QAAQ;YAAE,KAAK,GAAG,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;IAC5D,CAAC;IACD,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,GAAY,EAAE,CAAC,aAAa,EAAE,KAAK,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"shadowLegacy.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/shadowLegacy.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,GAAG,UAA6E,CAAC;IACxF,IAAI,KAAK,GAAG,CAAC,CAAC,kBAAkB,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClH,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,QAAQ;YAAE,KAAK,GAAG,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;IAC5D,CAAC;IACD,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,GAAY,EAAE,CAAC,aAAa,EAAE,KAAK,QAAQ,CAAC;AAE3E;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAE7C,8HAA8H;AAC9H,MAAM,UAAU,sBAAsB;IACpC,MAAM,CAAC,GAAG,UAAoF,CAAC;IAC/F,IAAI,KAAK,GAAG,CAAC,CAAC,yBAAyB,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACnH,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI;YAAE,KAAK,GAAG,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;IAC5D,CAAC;IACD,OAAO,KAAK,KAAK,KAAK,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Look-neutral bloom pass fusion settings (WebGL2 device). Enabled by the engine for `quality: "auto"` / `"cinematic"`
|
|
3
|
+
* only (`device.bloomFusedPasses`); `quality: "production"` never reads these. `AuraBloomFusion` (contracts/quality.ts)
|
|
4
|
+
* picks one of the two configs below. The separable default is the variant that kept the PBR viewer's software-GL frame
|
|
5
|
+
* time at or below the unfused chain while cutting draws (see evidence/vs-threejs/4.3.7/bloom-fusion-variants.json).
|
|
6
|
+
*/
|
|
7
|
+
import { type AuraBloomFusion } from "../contracts/quality.js";
|
|
8
|
+
export interface BloomFusionConfig {
|
|
9
|
+
/** One-pass weighted mip sum; the full-resolution upsample is folded into the composite. */
|
|
10
|
+
readonly accumulate: boolean;
|
|
11
|
+
/** Mips at or above this level blur in one 2-D pass instead of two separable passes (5 or more = never). */
|
|
12
|
+
readonly blur2dFromLevel: number;
|
|
13
|
+
/** Bright extract folded into the level-0 downsample (needs an exact 2:1 source). */
|
|
14
|
+
readonly extract: boolean;
|
|
15
|
+
}
|
|
16
|
+
/** A mip blurs in one 2-D pass when (2r+1)^2 * width * height stays at or under this many texel fetches. */
|
|
17
|
+
export declare const BLOOM_FUSED_BLUR_TAP_BUDGET = 7000000;
|
|
18
|
+
/** Largest radius a single 2-D pass supports (the shader loops over a fixed window). */
|
|
19
|
+
export declare const BLOOM_FUSED_BLUR_MAX_RADIUS = 24;
|
|
20
|
+
/** `"separable"`: draw-removing folds that add no fill; 2-D blur only on the two smallest mips of a five-mip pyramid. */
|
|
21
|
+
export declare const SEPARABLE_BLOOM_FUSION: BloomFusionConfig;
|
|
22
|
+
/** `"fused-2d"`: mips 1..4 in one 2-D pass each. Opt-in until a real-GPU receipt exists. */
|
|
23
|
+
export declare const FUSED_2D_BLOOM_FUSION: BloomFusionConfig;
|
|
24
|
+
export declare const DEFAULT_BLOOM_FUSION: BloomFusionConfig;
|
|
25
|
+
export declare function resolveBloomFusionConfig(mode?: AuraBloomFusion): BloomFusionConfig;
|
|
26
|
+
/** Whether one mip takes the single 2-D blur pass (true) or the separable H+V pair (false). Shared by the pass code and the tests. */
|
|
27
|
+
export declare function bloomLevelBlursIn2d(fusion: BloomFusionConfig, level: number, size: {
|
|
28
|
+
readonly width: number;
|
|
29
|
+
readonly height: number;
|
|
30
|
+
}, radius: number): boolean;
|
|
31
|
+
//# sourceMappingURL=BloomFusion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BloomFusion.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/webgl2/BloomFusion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAA6B,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvF,MAAM,WAAW,iBAAiB;IAChC,4FAA4F;IAC5F,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,4GAA4G;IAC5G,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,qFAAqF;IACrF,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED,4GAA4G;AAC5G,eAAO,MAAM,2BAA2B,UAAY,CAAC;AACrD,wFAAwF;AACxF,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,yHAAyH;AACzH,eAAO,MAAM,sBAAsB,EAAE,iBAA0F,CAAC;AAChI,4FAA4F;AAC5F,eAAO,MAAM,qBAAqB,EAAE,iBAA0F,CAAC;AAE/H,eAAO,MAAM,oBAAoB,EAAE,iBAA0C,CAAC;AAE9E,wBAAgB,wBAAwB,CAAC,IAAI,GAAE,eAA2C,GAAG,iBAAiB,CAE7G;AAED,sIAAsI;AACtI,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACzD,MAAM,EAAE,MAAM,GACb,OAAO,CAGT"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Look-neutral bloom pass fusion settings (WebGL2 device). Enabled by the engine for `quality: "auto"` / `"cinematic"`
|
|
3
|
+
* only (`device.bloomFusedPasses`); `quality: "production"` never reads these. `AuraBloomFusion` (contracts/quality.ts)
|
|
4
|
+
* picks one of the two configs below. The separable default is the variant that kept the PBR viewer's software-GL frame
|
|
5
|
+
* time at or below the unfused chain while cutting draws (see evidence/vs-threejs/4.3.7/bloom-fusion-variants.json).
|
|
6
|
+
*/
|
|
7
|
+
import { DEFAULT_BLOOM_FUSION_MODE } from "../contracts/quality.js";
|
|
8
|
+
/** A mip blurs in one 2-D pass when (2r+1)^2 * width * height stays at or under this many texel fetches. */
|
|
9
|
+
export const BLOOM_FUSED_BLUR_TAP_BUDGET = 7_000_000;
|
|
10
|
+
/** Largest radius a single 2-D pass supports (the shader loops over a fixed window). */
|
|
11
|
+
export const BLOOM_FUSED_BLUR_MAX_RADIUS = 24;
|
|
12
|
+
/** `"separable"`: draw-removing folds that add no fill; 2-D blur only on the two smallest mips of a five-mip pyramid. */
|
|
13
|
+
export const SEPARABLE_BLOOM_FUSION = Object.freeze({ accumulate: true, blur2dFromLevel: 3, extract: true });
|
|
14
|
+
/** `"fused-2d"`: mips 1..4 in one 2-D pass each. Opt-in until a real-GPU receipt exists. */
|
|
15
|
+
export const FUSED_2D_BLOOM_FUSION = Object.freeze({ accumulate: true, blur2dFromLevel: 1, extract: true });
|
|
16
|
+
export const DEFAULT_BLOOM_FUSION = SEPARABLE_BLOOM_FUSION;
|
|
17
|
+
export function resolveBloomFusionConfig(mode = DEFAULT_BLOOM_FUSION_MODE) {
|
|
18
|
+
return mode === "fused-2d" ? FUSED_2D_BLOOM_FUSION : SEPARABLE_BLOOM_FUSION;
|
|
19
|
+
}
|
|
20
|
+
/** Whether one mip takes the single 2-D blur pass (true) or the separable H+V pair (false). Shared by the pass code and the tests. */
|
|
21
|
+
export function bloomLevelBlursIn2d(fusion, level, size, radius) {
|
|
22
|
+
const taps = (2 * radius + 1) * (2 * radius + 1) * size.width * size.height;
|
|
23
|
+
return level >= fusion.blur2dFromLevel && radius <= BLOOM_FUSED_BLUR_MAX_RADIUS && taps <= BLOOM_FUSED_BLUR_TAP_BUDGET;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=BloomFusion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BloomFusion.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/webgl2/BloomFusion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,yBAAyB,EAAwB,MAAM,sBAAsB,CAAC;AAWvF,4GAA4G;AAC5G,MAAM,CAAC,MAAM,2BAA2B,GAAG,SAAS,CAAC;AACrD,wFAAwF;AACxF,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAE9C,yHAAyH;AACzH,MAAM,CAAC,MAAM,sBAAsB,GAAsB,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAChI,4FAA4F;AAC5F,MAAM,CAAC,MAAM,qBAAqB,GAAsB,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAE/H,MAAM,CAAC,MAAM,oBAAoB,GAAsB,sBAAsB,CAAC;AAE9E,MAAM,UAAU,wBAAwB,CAAC,OAAwB,yBAAyB;IACxF,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,sBAAsB,CAAC;AAC9E,CAAC;AAED,sIAAsI;AACtI,MAAM,UAAU,mBAAmB,CACjC,MAAyB,EACzB,KAAa,EACb,IAAyD,EACzD,MAAc;IAEd,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5E,OAAO,KAAK,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,IAAI,2BAA2B,IAAI,IAAI,IAAI,2BAA2B,CAAC;AACzH,CAAC"}
|
|
@@ -67,6 +67,20 @@ export declare class WebGL2ContextLifecycle {
|
|
|
67
67
|
clear(color: readonly [number, number, number, number]): void;
|
|
68
68
|
clearRenderTarget(color: readonly [number, number, number, number], attachment?: number): void;
|
|
69
69
|
endFrame(): void;
|
|
70
|
+
/** Frames after creation/restore in which the `sampled` mode reads the error every frame. */
|
|
71
|
+
static readonly ERROR_WARMUP_FRAMES = 30;
|
|
72
|
+
/** After warm-up, `sampled` mode reads the error on every Nth frame. */
|
|
73
|
+
static readonly ERROR_SAMPLE_INTERVAL = 60;
|
|
74
|
+
private framesEnded;
|
|
75
|
+
private lastEventSignature;
|
|
76
|
+
/**
|
|
77
|
+
* `gl.getError()` is a synchronous round trip to the GPU process (about 1 ms per frame on the software
|
|
78
|
+
* rasteriser, 0.1 to 0.3 ms on hardware). `frame` and `strict` read it every frame; `sampled` reads it
|
|
79
|
+
* when something that can fail happened (the first frames, a resource or program created or released, a
|
|
80
|
+
* pending error) and otherwise every ERROR_SAMPLE_INTERVAL frames, so a persistent GL fault is still
|
|
81
|
+
* caught within a second at 60 fps.
|
|
82
|
+
*/
|
|
83
|
+
private shouldReadFrameError;
|
|
70
84
|
captureTextureUnit0(): WebGL2TextureUnit0Snapshot;
|
|
71
85
|
restoreTextureUnit0(snapshot: WebGL2TextureUnit0Snapshot): void;
|
|
72
86
|
captureTextureUnitBinding(unit: number): WebGL2TextureUnitBindingSnapshot;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextLifecycle.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/webgl2/ContextLifecycle.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;CACvC;AAED,UAAU,QAAQ;IAChB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,sBAAsB;IACrB,QAAQ,CAAC,IAAI,EAAE,gBAAgB;IAAE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,eAAe;gBAA5E,IAAI,EAAE,gBAAgB,EAAW,MAAM,EAAE,iBAAiB,GAAG,eAAe;
|
|
1
|
+
{"version":3,"file":"ContextLifecycle.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/webgl2/ContextLifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,7 @@ export class WebGL2ContextLifecycle {
|
|
|
26
26
|
this.contextRestoredListener = (() => {
|
|
27
27
|
this.host.contextLost = false;
|
|
28
28
|
this.lastError = null;
|
|
29
|
+
this.framesEnded = 0;
|
|
29
30
|
// PRD 11 Phase 5: registered restore hooks (GPU object invalidation,
|
|
30
31
|
// C-29 ResourceRegistry.rebuild, C-02 precompile) must resolve BEFORE
|
|
31
32
|
// onDeviceRestored listeners fire (C-29 semantics). With no hooks the
|
|
@@ -86,7 +87,11 @@ export class WebGL2ContextLifecycle {
|
|
|
86
87
|
}
|
|
87
88
|
}
|
|
88
89
|
isDeviceLost() {
|
|
89
|
-
|
|
90
|
+
// The context can be gone before the webglcontextlost event is dispatched; WebGL reports that synchronously.
|
|
91
|
+
if (this.host.contextLost)
|
|
92
|
+
return true;
|
|
93
|
+
const gl = this.host.gl;
|
|
94
|
+
return typeof gl?.isContextLost === "function" && gl.isContextLost();
|
|
90
95
|
}
|
|
91
96
|
/** SC-01: viewport/scissor override and the render target it was set on (override applies only while that target is bound). */
|
|
92
97
|
viewportOverride = null;
|
|
@@ -202,8 +207,6 @@ export class WebGL2ContextLifecycle {
|
|
|
202
207
|
this.host.counters.drawCalls = 0;
|
|
203
208
|
this.host.counters.nativeEnvironmentBindings = 0;
|
|
204
209
|
this.host.counters.nativeShadowMapBindings = 0;
|
|
205
|
-
this.host.samplers.activeTextureUnitIndex = -1;
|
|
206
|
-
this.host.samplers.textureUnitBindings.clear();
|
|
207
210
|
this.host.stateCache.invalidate();
|
|
208
211
|
this.viewportWidth = width;
|
|
209
212
|
this.viewportHeight = height;
|
|
@@ -246,7 +249,35 @@ export class WebGL2ContextLifecycle {
|
|
|
246
249
|
endFrame() {
|
|
247
250
|
this.assertFrame();
|
|
248
251
|
this.frameActive = false;
|
|
249
|
-
|
|
252
|
+
if (this.shouldReadFrameError())
|
|
253
|
+
this.lastError = this.readError();
|
|
254
|
+
}
|
|
255
|
+
/** Frames after creation/restore in which the `sampled` mode reads the error every frame. */
|
|
256
|
+
static ERROR_WARMUP_FRAMES = 30;
|
|
257
|
+
/** After warm-up, `sampled` mode reads the error on every Nth frame. */
|
|
258
|
+
static ERROR_SAMPLE_INTERVAL = 60;
|
|
259
|
+
framesEnded = 0;
|
|
260
|
+
lastEventSignature = -1;
|
|
261
|
+
/**
|
|
262
|
+
* `gl.getError()` is a synchronous round trip to the GPU process (about 1 ms per frame on the software
|
|
263
|
+
* rasteriser, 0.1 to 0.3 ms on hardware). `frame` and `strict` read it every frame; `sampled` reads it
|
|
264
|
+
* when something that can fail happened (the first frames, a resource or program created or released, a
|
|
265
|
+
* pending error) and otherwise every ERROR_SAMPLE_INTERVAL frames, so a persistent GL fault is still
|
|
266
|
+
* caught within a second at 60 fps.
|
|
267
|
+
*/
|
|
268
|
+
shouldReadFrameError() {
|
|
269
|
+
this.framesEnded += 1;
|
|
270
|
+
const counters = this.host.counters;
|
|
271
|
+
const signature = this.host.renderTargets.size + this.host.buffers.size + this.host.shaders.size
|
|
272
|
+
+ counters.programCompiles + counters.shaderProgramCreateCount + counters.shadowRenderTargetsAllocated + counters.releasedTextureHandles;
|
|
273
|
+
const changed = signature !== this.lastEventSignature;
|
|
274
|
+
this.lastEventSignature = signature;
|
|
275
|
+
if (this.host.errorCheckMode !== "sampled")
|
|
276
|
+
return true;
|
|
277
|
+
return changed
|
|
278
|
+
|| this.lastError !== null
|
|
279
|
+
|| this.framesEnded <= WebGL2ContextLifecycle.ERROR_WARMUP_FRAMES
|
|
280
|
+
|| this.framesEnded % WebGL2ContextLifecycle.ERROR_SAMPLE_INTERVAL === 0;
|
|
250
281
|
}
|
|
251
282
|
captureTextureUnit0() {
|
|
252
283
|
const activeTexture = this.host.gl.getParameter(this.host.gl.ACTIVE_TEXTURE);
|
|
@@ -291,7 +322,15 @@ export class WebGL2ContextLifecycle {
|
|
|
291
322
|
}
|
|
292
323
|
readError() {
|
|
293
324
|
const error = this.host.gl.getError();
|
|
294
|
-
|
|
325
|
+
if (error === this.host.gl.NO_ERROR)
|
|
326
|
+
return null;
|
|
327
|
+
// CONTEXT_LOST_WEBGL (0x9242) is the loss signal, not a GL fault: the lost/restored events own that state. Treating it as
|
|
328
|
+
// a fault threw "LDR postprocess presentation failed: 0x9242" from the frame in which the context went (top-tennis C8).
|
|
329
|
+
if (error === CONTEXT_LOST_WEBGL)
|
|
330
|
+
return null;
|
|
331
|
+
return `0x${error.toString(16)}`;
|
|
295
332
|
}
|
|
296
333
|
}
|
|
334
|
+
/** WebGL's context-lost error code (`WEBGL_lose_context` and real GPU resets). */
|
|
335
|
+
const CONTEXT_LOST_WEBGL = 0x9242;
|
|
297
336
|
//# sourceMappingURL=ContextLifecycle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextLifecycle.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/webgl2/ContextLifecycle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContextLifecycle.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/webgl2/ContextLifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { WebGL2RenderTarget, type WebGL2BloomDiagnostics } from "../WebGL2Device
|
|
|
4
4
|
import { type BloomPyramidPlan, type BloomQualityPreset } from "../postprocess/NativeBloomPyramid.js";
|
|
5
5
|
import type { WebGL2TextureUnit0Snapshot, WebGL2TextureUnitBindingSnapshot } from "./ContextLifecycle.js";
|
|
6
6
|
import type { WebGL2DeviceHost } from "./DeviceHost.js";
|
|
7
|
+
import { BLOOM_FUSED_BLUR_TAP_BUDGET } from "./BloomFusion.js";
|
|
7
8
|
import type { PostPipelineOptions } from "../contracts/post.js";
|
|
8
9
|
import type { FrameCamera } from "../contracts/frameGraph.js";
|
|
9
10
|
import { type LdrProgramVariant } from "./LdrPostprocessShader.js";
|
|
@@ -86,6 +87,11 @@ export interface WebGL2BloomPingPongResources {
|
|
|
86
87
|
readonly textures: readonly [WebGLTexture, WebGLTexture];
|
|
87
88
|
readonly framebuffers: readonly [WebGLFramebuffer, WebGLFramebuffer];
|
|
88
89
|
}
|
|
90
|
+
/** Pass fusion (auto/cinematic): the fused mip sum samples at most this many mips in one pass. */
|
|
91
|
+
export declare const BLOOM_FUSED_MAX_MIPS = 5;
|
|
92
|
+
export { BLOOM_FUSED_BLUR_TAP_BUDGET };
|
|
93
|
+
/** Texture units the fullscreen presentation snapshot saves and restores: 0..4 (the fused bloom mip sum samples five). */
|
|
94
|
+
export declare const PRESENTATION_TEXTURE_UNITS = 5;
|
|
89
95
|
export interface WebGL2BloomPyramidResources {
|
|
90
96
|
readonly plan: BloomPyramidPlan;
|
|
91
97
|
readonly hdr: boolean;
|
|
@@ -102,6 +108,11 @@ export interface WebGL2FullscreenPresentationStateSnapshot {
|
|
|
102
108
|
readonly textureUnit0: WebGL2TextureUnit0Snapshot;
|
|
103
109
|
readonly textureUnit1: WebGL2TextureUnitBindingSnapshot;
|
|
104
110
|
readonly textureUnit2: WebGL2TextureUnitBindingSnapshot;
|
|
111
|
+
/** Units 3 and up that post passes bind (the fused bloom mip sum samples units 0..4), restored on exit. */
|
|
112
|
+
readonly extraTextureUnits: readonly {
|
|
113
|
+
readonly unit: number;
|
|
114
|
+
readonly binding: WebGL2TextureUnitBindingSnapshot;
|
|
115
|
+
}[];
|
|
105
116
|
readonly vertexArray: WebGLVertexArrayObject | null;
|
|
106
117
|
readonly viewport: Int32Array | readonly number[];
|
|
107
118
|
readonly colorMask: readonly boolean[];
|
|
@@ -117,6 +128,13 @@ export declare class WebGL2LegacyPostPipeline {
|
|
|
117
128
|
readonly host: WebGL2DeviceHost;
|
|
118
129
|
constructor(host: WebGL2DeviceHost);
|
|
119
130
|
bloomAccumulateProgram: WebGLProgram | null;
|
|
131
|
+
/** Look-neutral pass fusion (auto/cinematic only): single-pass 2-D Gaussian for small mips, one-pass weighted mip sum, upsample folded into the composite. */
|
|
132
|
+
bloomBlur2dProgram: WebGLProgram | null;
|
|
133
|
+
bloomFusedAccumulateProgram: WebGLProgram | null;
|
|
134
|
+
bloomFusedCompositeProgram: WebGLProgram | null;
|
|
135
|
+
bloomPrefilterDownsampleProgram: WebGLProgram | null;
|
|
136
|
+
/** True when the last `executeNativeBloomPyramidPasses` returned the level-0 accumulator (not a full-resolution copy). */
|
|
137
|
+
lastPyramidFused: boolean;
|
|
120
138
|
bloomBlurProgram: WebGLProgram | null;
|
|
121
139
|
bloomBrightExtractProgram: WebGLProgram | null;
|
|
122
140
|
bloomBrightLutTexture: WebGLTexture | null;
|
|
@@ -217,6 +235,18 @@ export declare class WebGL2LegacyPostPipeline {
|
|
|
217
235
|
ensureBloomBlurProgram(): WebGLProgram;
|
|
218
236
|
ensureBloomCompositeProgram(): WebGLProgram;
|
|
219
237
|
ensureBloomDownsampleProgram(): WebGLProgram;
|
|
238
|
+
/**
|
|
239
|
+
* Single-pass 2-D Gaussian: the product of the two normalised 1-D kernels the separable blur applies, with the same
|
|
240
|
+
* per-axis edge clamp, so it equals horizontal-then-vertical (up to the half-float round trip the two-pass version
|
|
241
|
+
* stores between passes). Used only for mips small enough that (2r+1)^2 taps cost less than a draw.
|
|
242
|
+
*/
|
|
243
|
+
ensureBloomBlur2dProgram(): WebGLProgram;
|
|
244
|
+
/** Weighted sum of up to five blurred mips, bilinearly upsampled to level-0 size, in one pass (smallest mip first, like the sequential accumulate). */
|
|
245
|
+
ensureBloomFusedAccumulateProgram(): WebGLProgram;
|
|
246
|
+
/** HDR bloom composite that upsamples the level-0 accumulator itself (bilinear at the pixel centre) instead of reading a full-resolution copy. */
|
|
247
|
+
ensureBloomFusedCompositeProgram(): WebGLProgram;
|
|
248
|
+
/** Bright extract (HDR) + level-0 box downsample in one pass over an exactly 2:1 source; see `executeNativeBloomPyramidPasses`. */
|
|
249
|
+
ensureBloomPrefilterDownsampleProgram(): WebGLProgram;
|
|
220
250
|
ensureBloomAccumulateProgram(): WebGLProgram;
|
|
221
251
|
ensureOutlineProgram(): WebGLProgram;
|
|
222
252
|
ensureSsaoProgram(): WebGLProgram;
|