@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
|
@@ -1,13 +1,22 @@
|
|
|
1
|
-
// PRD-02 §6.5 — `prd02.contactShadows` frame contributor (
|
|
2
|
-
// `
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
//
|
|
1
|
+
// PRD-02 §6.5 — `prd02.contactShadows` frame contributor (lane flag
|
|
2
|
+
// `A3D_QR_LIGHTING`, feature sub-flag `A3D_QR_LIGHTING_CONTACT`). Runs
|
|
3
|
+
// ContactShadowPass when the scene opted in (`effects.contactShadows` →
|
|
4
|
+
// `source.shadow.prd02Contact`), when the tier allows it (C-27 `shadow.contact`,
|
|
5
|
+
// Ultra only in the frozen table — Q-11-3 asks for Medium/High), or when the
|
|
6
|
+
// sub-flag forces it. Opt-in works at any tier except Low. Records
|
|
7
|
+
// `contactShadows.passExecuted` for C-31 diagnostics.
|
|
8
|
+
//
|
|
9
|
+
// Two modes, never both in one frame:
|
|
10
|
+
// - feeds shading (explicit opt-in or sub-flag): phase `shadows`, before the forward pass, renders its own half
|
|
11
|
+
// resolution depth, and publishes the mask to the forward store. Needs a shadow-casting directional light,
|
|
12
|
+
// because the mask is marched along that sun and only the sun's visibility term samples it; without one the
|
|
13
|
+
// pass does not run and a diagnostic says why.
|
|
14
|
+
// - tier default (Ultra, no opt-in): phase `after-opaque` exactly as before WP-4 (scene depth, no extra depth
|
|
15
|
+
// pass, nothing published), so that path costs and renders what it always did.
|
|
9
16
|
import { BaseRenderPass } from "../RenderPass.js";
|
|
10
17
|
import { ContactShadowPass, CONTACT_MASK_BLACKBOARD_KEY } from "./ContactShadowPass.js";
|
|
18
|
+
import { contactShadowMask, contactShadowMaskDrawCounters, setContactShadowMask } from "../forward/contactShadowMaskStore.js";
|
|
19
|
+
import { MaterialInstance } from "../MaterialInstance.js";
|
|
11
20
|
import { collectShadowSystemLights } from "../shadows/Prd02ShadowsContributor.js";
|
|
12
21
|
import { resolvePrd02ShadowCasterVariant, prd02DepthFeatures, registerPrd02DepthShader, prd02ShadowCasterEligible } from "../shadows/Prd02DepthShaderLibrary.js";
|
|
13
22
|
import { createLeanCoreShaderLibrary } from "../ShaderLibraryCore.js";
|
|
@@ -17,10 +26,27 @@ export const CONTACT_SHADOWS_SUB_FLAG = SUB_FLAG_CONTACT;
|
|
|
17
26
|
let latestContactDiagnostics = {
|
|
18
27
|
contactShadows: { passExecuted: false, depthSource: "none" }
|
|
19
28
|
};
|
|
29
|
+
let latestContactDevice;
|
|
20
30
|
/** Latest C-31 contact-shadow diagnostics (engine lane reads via rendering barrel). */
|
|
21
31
|
export function prd02ContactShadowDiagnostics() {
|
|
22
|
-
|
|
32
|
+
const probe = latestContactDiagnostics.contactShadows.probe;
|
|
33
|
+
if (!probe || !latestContactDevice)
|
|
34
|
+
return latestContactDiagnostics;
|
|
35
|
+
// Probing runs only: add the forward pass's draw counters, read live so they cover the whole last frame.
|
|
36
|
+
return {
|
|
37
|
+
contactShadows: { ...latestContactDiagnostics.contactShadows, probe: { ...probe, drawCounters: { ...contactShadowMaskDrawCounters(latestContactDevice) } } }
|
|
38
|
+
};
|
|
23
39
|
}
|
|
40
|
+
const warnedOnce = new Set();
|
|
41
|
+
/** One console warning per distinct message per page: a scene that asks for a mask nothing can show should hear about it once. */
|
|
42
|
+
function warnOnce(message) {
|
|
43
|
+
if (warnedOnce.has(message))
|
|
44
|
+
return;
|
|
45
|
+
warnedOnce.add(message);
|
|
46
|
+
console.warn(`[prd02.contactShadows] ${message}`);
|
|
47
|
+
}
|
|
48
|
+
export const CONTACT_SHADOWS_NO_SUN_REASON = "no-shadow-casting-directional-light";
|
|
49
|
+
export const CONTACT_SHADOWS_NO_CONSUMER_REASON = "no-drawn-program-samples-the-mask";
|
|
24
50
|
/** `ctx.tier` is a settings object — recover its tier name (the ctx carries
|
|
25
51
|
* the shared QUALITY_TIERS constants; fall back to shadow-shape matching). */
|
|
26
52
|
function tierNameOf(ctx) {
|
|
@@ -77,41 +103,145 @@ function depthLibraryFor(device) {
|
|
|
77
103
|
}
|
|
78
104
|
return lib;
|
|
79
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* Depth for the mask is rendered by the pass itself (half resolution, camera space) because the
|
|
108
|
+
* mask must exist BEFORE the forward pass samples it; the C-01 scene-depth copy only exists
|
|
109
|
+
* after the opaque pass. Every opaque item writes depth, including receivers authored with
|
|
110
|
+
* `castShadow: false` (floors): the march needs the receiver surface, not just the casters.
|
|
111
|
+
*/
|
|
112
|
+
function contactDepthEligible(item) {
|
|
113
|
+
if (item.castShadow !== false)
|
|
114
|
+
return prd02ShadowCasterEligible(item);
|
|
115
|
+
const material = item.material;
|
|
116
|
+
const base = material instanceof MaterialInstance ? material.baseMaterial : material;
|
|
117
|
+
return base?.renderState.blend !== true;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Orthographic cameras do not always say so: the frame camera's `projection` defaults to "perspective" when the scene
|
|
121
|
+
* camera has no such field (OrthographicCamera has none), which on the first GPU orthographic run left the mask at all
|
|
122
|
+
* ones. The combined view-projection settles it: an orthographic matrix leaves clip w at exactly 1 (fourth row 0,0,0,1;
|
|
123
|
+
* column-major elements 3, 7, 11, 15), a perspective one does not.
|
|
124
|
+
*/
|
|
125
|
+
export function isOrthographicFrameCamera(camera) {
|
|
126
|
+
if (camera.projection === "orthographic")
|
|
127
|
+
return true;
|
|
128
|
+
const m = camera.viewProjectionMatrix;
|
|
129
|
+
if (m.length < 16)
|
|
130
|
+
return false;
|
|
131
|
+
const eps = 1e-6;
|
|
132
|
+
return Math.abs(m[3]) < eps && Math.abs(m[7]) < eps && Math.abs(m[11]) < eps && Math.abs(m[15] - 1) < eps;
|
|
133
|
+
}
|
|
134
|
+
// One pass per device: the mask and depth targets are allocated lazily by the pass, so a pass per
|
|
135
|
+
// frame would leak two render targets every frame.
|
|
136
|
+
const contactPasses = new WeakMap();
|
|
80
137
|
class Prd02ContactShadowsRenderPass extends BaseRenderPass {
|
|
81
138
|
ctx;
|
|
139
|
+
request;
|
|
140
|
+
mode;
|
|
82
141
|
pass;
|
|
83
|
-
|
|
142
|
+
sunTowardLight;
|
|
143
|
+
casterCount;
|
|
144
|
+
constructor(ctx, request, mode, sunDirection) {
|
|
84
145
|
super("prd02.contactShadows", [], []);
|
|
85
146
|
this.ctx = ctx;
|
|
86
|
-
|
|
87
|
-
this.
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
147
|
+
this.request = request;
|
|
148
|
+
this.mode = mode;
|
|
149
|
+
const shading = mode === "shading";
|
|
150
|
+
// `CollectedLight.direction` is the direction the light travels; the march wants the direction
|
|
151
|
+
// TOWARD the light (the forward shaders use `lightDirection = -direction` the same way).
|
|
152
|
+
const input = {
|
|
153
|
+
sunDirection: sunDirection ? [-sunDirection[0], -sunDirection[1], -sunDirection[2]] : [0, 1, 0],
|
|
154
|
+
camera: ctx.camera
|
|
155
|
+
? {
|
|
156
|
+
viewMatrix: ctx.camera.viewMatrix,
|
|
157
|
+
projectionMatrix: ctx.camera.projectionMatrix,
|
|
158
|
+
// The frame camera's separate view/projection can be identity (the production renderer resolves
|
|
159
|
+
// cameras that expose only a combined matrix), so the march works from the combined one.
|
|
160
|
+
viewProjectionMatrix: ctx.camera.viewProjectionMatrix,
|
|
161
|
+
near: ctx.camera.near,
|
|
162
|
+
far: ctx.camera.far,
|
|
163
|
+
orthographic: isOrthographicFrameCamera(ctx.camera)
|
|
164
|
+
}
|
|
165
|
+
: {
|
|
166
|
+
viewMatrix: new Float32Array(16).fill(0),
|
|
167
|
+
projectionMatrix: new Float32Array(16).fill(0),
|
|
168
|
+
near: 0.1,
|
|
169
|
+
far: 100
|
|
170
|
+
},
|
|
171
|
+
// Shading mode: forward has not run yet in the `shadows` phase, so the pass renders its own depth.
|
|
172
|
+
// Tier-default mode: the C-01 scene depth copy exists after the opaque pass, as before WP-4.
|
|
173
|
+
...(shading ? {} : { sceneDepth: ctx.sceneDepth }),
|
|
174
|
+
casters: shading ? ctx.items.filter(contactDepthEligible) : ctx.items.filter(prd02ShadowCasterEligible),
|
|
97
175
|
depthPassOptions: {
|
|
98
176
|
shaderLibrary: depthLibraryFor(ctx.device),
|
|
99
177
|
variantResolver: (item) => resolvePrd02ShadowCasterVariant(item, ctx.flags, ctx.tier, prd02DepthFeatures()),
|
|
100
178
|
depthVariantFeatures: prd02DepthFeatures()
|
|
101
179
|
},
|
|
102
180
|
options: request
|
|
103
|
-
}
|
|
181
|
+
};
|
|
182
|
+
let pass = contactPasses.get(ctx.device);
|
|
183
|
+
if (pass)
|
|
184
|
+
pass.configure(input);
|
|
185
|
+
else {
|
|
186
|
+
pass = new ContactShadowPass(input);
|
|
187
|
+
contactPasses.set(ctx.device, pass);
|
|
188
|
+
}
|
|
189
|
+
this.pass = pass;
|
|
190
|
+
this.sunTowardLight = input.sunDirection;
|
|
191
|
+
this.casterCount = input.casters.length;
|
|
104
192
|
}
|
|
105
193
|
execute(context) {
|
|
106
194
|
this.pass.execute(context);
|
|
107
|
-
|
|
195
|
+
const mask = this.pass.maskTexture();
|
|
196
|
+
this.ctx.blackboard.set(CONTACT_MASK_BLACKBOARD_KEY, mask);
|
|
197
|
+
latestContactDevice = this.ctx.device;
|
|
198
|
+
let unavailable;
|
|
199
|
+
if (this.mode === "shading") {
|
|
200
|
+
// The forward counters still hold the PREVIOUS frame's draws here (they reset on publish): a mask that
|
|
201
|
+
// was published but that no drawn program sampled means the effect is silently doing nothing.
|
|
202
|
+
const last = contactShadowMaskDrawCounters(this.ctx.device);
|
|
203
|
+
if (contactShadowMask(this.ctx.device) !== undefined && last.calls > 0 && last.maskedDraws === 0) {
|
|
204
|
+
unavailable = CONTACT_SHADOWS_NO_CONSUMER_REASON;
|
|
205
|
+
warnOnce("effects.contactShadows() has no visible effect: no drawn program samples the mask. The mask darkens the shadow-casting sun's light on materials that receive shadows; textured-PBR materials with glTF extension textures (clearcoat, transmission and similar) do not sample it.");
|
|
206
|
+
}
|
|
207
|
+
// Publish only a mask that was actually marched against real depth; the empty fallback mask
|
|
208
|
+
// (all ones) is harmless but binding it would cost a texture fetch per fragment for nothing.
|
|
209
|
+
const intensity = this.request.intensity ?? 1;
|
|
210
|
+
const position = this.ctx.camera?.position ?? [0, 0, 0];
|
|
211
|
+
setContactShadowMask(this.ctx.device, mask && this.pass.passExecuted() && intensity > 0
|
|
212
|
+
? { texture: mask, width: context.width, height: context.height, strength: intensity, cameraPosition: [position[0], position[1], position[2]] }
|
|
213
|
+
: undefined);
|
|
214
|
+
}
|
|
215
|
+
const probing = globalThis.__A3D_CONTACT_PROBE__ === true;
|
|
108
216
|
latestContactDiagnostics = {
|
|
109
217
|
contactShadows: {
|
|
110
218
|
passExecuted: this.pass.passExecuted(),
|
|
111
|
-
depthSource: this.pass.depthSource()
|
|
219
|
+
depthSource: this.pass.depthSource(),
|
|
220
|
+
...(unavailable ? { unavailable } : {}),
|
|
221
|
+
...(probing ? { probe: this.collectProbe(context) } : {})
|
|
112
222
|
}
|
|
113
223
|
};
|
|
114
224
|
}
|
|
225
|
+
collectProbe(context) {
|
|
226
|
+
const camera = this.ctx.camera;
|
|
227
|
+
return {
|
|
228
|
+
...this.pass.probe(context.device),
|
|
229
|
+
publishedToShading: this.mode === "shading",
|
|
230
|
+
request: this.request,
|
|
231
|
+
sunTowardLight: this.sunTowardLight,
|
|
232
|
+
frameSize: [context.width, context.height],
|
|
233
|
+
camera: camera
|
|
234
|
+
? { view: Array.from(camera.viewMatrix), projection: Array.from(camera.projectionMatrix), viewProjection: Array.from(camera.viewProjectionMatrix), near: camera.near, far: camera.far }
|
|
235
|
+
: null,
|
|
236
|
+
casterCount: this.casterCount
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
/** Records that the scene asked for the mask but this frame cannot produce one, and says so once. */
|
|
241
|
+
function recordUnavailable(ctx, reason, detail) {
|
|
242
|
+
latestContactDevice = ctx.device;
|
|
243
|
+
latestContactDiagnostics = { contactShadows: { passExecuted: false, depthSource: "none", unavailable: reason } };
|
|
244
|
+
warnOnce(detail);
|
|
115
245
|
}
|
|
116
246
|
export function createPrd02ContactShadowsContributor() {
|
|
117
247
|
prd02DepthFeatures();
|
|
@@ -119,14 +249,35 @@ export function createPrd02ContactShadowsContributor() {
|
|
|
119
249
|
id: "prd02.contactShadows",
|
|
120
250
|
owner: "prd02",
|
|
121
251
|
flag: "A3D_QR_LIGHTING",
|
|
122
|
-
|
|
252
|
+
// Feeding shading runs in `shadows`, before the forward pass is queued, so the mask exists when forward
|
|
253
|
+
// shading samples it (u_contactShadowMask). The tier-default path keeps its pre-WP-4 `after-opaque` slot.
|
|
254
|
+
phases: ["shadows", "after-opaque"],
|
|
123
255
|
passes: (phase, ctx) => {
|
|
256
|
+
const request = contactShadowRequest(ctx);
|
|
257
|
+
const feedsShading = contactShadowOptIn(ctx) !== null || ctx.flags.on(CONTACT_SHADOWS_SUB_FLAG);
|
|
258
|
+
if (phase === "shadows") {
|
|
259
|
+
// A frame that does not build a mask clears the previous one; the shading branch publishes in execute()
|
|
260
|
+
// and leaves the previous frame's mask and draw counters in place until then, so it can check them.
|
|
261
|
+
if (!request || !ctx.camera || !feedsShading) {
|
|
262
|
+
setContactShadowMask(ctx.device, undefined);
|
|
263
|
+
return [];
|
|
264
|
+
}
|
|
265
|
+
// The mask is marched along the shadow-casting sun and only that light's visibility samples it. With no
|
|
266
|
+
// such light there is no direction to march and no consumer, so do not guess one.
|
|
267
|
+
const { sunDirection } = collectShadowSystemLights(ctx);
|
|
268
|
+
if (!sunDirection) {
|
|
269
|
+
setContactShadowMask(ctx.device, undefined);
|
|
270
|
+
recordUnavailable(ctx, CONTACT_SHADOWS_NO_SUN_REASON, "effects.contactShadows() has no visible effect: the scene has no shadow-casting directional light. The mask darkens the sun's light only; add a directional light with shadow: true.");
|
|
271
|
+
return [];
|
|
272
|
+
}
|
|
273
|
+
return [new Prd02ContactShadowsRenderPass(ctx, request, "shading", sunDirection)];
|
|
274
|
+
}
|
|
124
275
|
if (phase !== "after-opaque")
|
|
125
276
|
return [];
|
|
126
|
-
|
|
127
|
-
if (!request || !ctx.camera)
|
|
277
|
+
if (!request || !ctx.camera || feedsShading)
|
|
128
278
|
return [];
|
|
129
|
-
|
|
279
|
+
const { sunDirection } = collectShadowSystemLights(ctx);
|
|
280
|
+
return [new Prd02ContactShadowsRenderPass(ctx, request, "tier-default", sunDirection)];
|
|
130
281
|
}
|
|
131
282
|
};
|
|
132
283
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Prd02ContactShadowsContributor.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/passes/Prd02ContactShadowsContributor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Prd02ContactShadowsContributor.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/passes/Prd02ContactShadowsContributor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v2Stages.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/post/v2Stages.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"v2Stages.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/post/v2Stages.ts"],"names":[],"mappings":"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"}
|
package/dist/post/v2Stages.js
CHANGED
|
@@ -592,6 +592,8 @@ frameContext, options) {
|
|
|
592
592
|
const ao = pipeline.ao;
|
|
593
593
|
const directions = ao.directions ?? 4;
|
|
594
594
|
const steps = ao.steps ?? 4;
|
|
595
|
+
// Audit (ssao:normals): S2 is the SSAO the v2 chain executes; record it so diagnostics().post.stagesRan shows it.
|
|
596
|
+
recordPostStage(`S2:gtao-${directions}x${steps}`);
|
|
595
597
|
const aoRaw = state.pool.acquire({ width: hw, height: hh, format: "rgba8", samples: 1, depth: false });
|
|
596
598
|
const gtaoSrc = withDefines(GTAO_GLSL, { AURA_GTAO_DIRECTIONS: directions, AURA_GTAO_STEPS: steps });
|
|
597
599
|
const gtaoProg = program(state, gl, `gtao-${directions}x${steps}`, gtaoSrc);
|