@aura3d/engine 4.5.0 → 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/README.md +1 -0
- package/dist/animation/pose/BoneMask.d.ts +8 -0
- package/dist/animation/pose/BoneMask.d.ts.map +1 -1
- package/dist/animation/pose/BoneMask.js +18 -1
- package/dist/animation/pose/BoneMask.js.map +1 -1
- package/dist/animation/pose/PoseMixer.d.ts +18 -2
- package/dist/animation/pose/PoseMixer.d.ts.map +1 -1
- package/dist/animation/pose/PoseMixer.js +52 -4
- package/dist/animation/pose/PoseMixer.js.map +1 -1
- package/dist/animation/pose/RetargetWorker.d.ts +8 -1
- package/dist/animation/pose/RetargetWorker.d.ts.map +1 -1
- package/dist/animation/pose/RetargetWorker.js +30 -2
- package/dist/animation/pose/RetargetWorker.js.map +1 -1
- package/dist/aura3d-cli/index.d.ts +6 -0
- package/dist/aura3d-cli/index.d.ts.map +1 -1
- package/dist/aura3d-cli/index.js +28 -0
- package/dist/aura3d-cli/index.js.map +1 -1
- package/dist/create-aura3d/cli.js +22 -2
- package/dist/create-aura3d/cli.js.map +1 -1
- package/dist/create-aura3d/index.d.ts +11 -0
- package/dist/create-aura3d/index.d.ts.map +1 -1
- package/dist/create-aura3d/index.js +9 -2
- package/dist/create-aura3d/index.js.map +1 -1
- package/dist/create-aura3d/template-assets.d.ts +53 -0
- package/dist/create-aura3d/template-assets.d.ts.map +1 -0
- package/dist/create-aura3d/template-assets.js +116 -0
- package/dist/create-aura3d/template-assets.js.map +1 -0
- package/dist/engine/agent-api/Clock.d.ts +5 -2
- package/dist/engine/agent-api/Clock.d.ts.map +1 -1
- package/dist/engine/agent-api/Clock.js +9 -4
- package/dist/engine/agent-api/Clock.js.map +1 -1
- package/dist/engine/agent-api/animationMask.d.ts +14 -2
- package/dist/engine/agent-api/animationMask.d.ts.map +1 -1
- package/dist/engine/agent-api/animationMask.js +19 -4
- package/dist/engine/agent-api/animationMask.js.map +1 -1
- package/dist/engine/agent-api/app/actorAnimationHandle.d.ts.map +1 -1
- package/dist/engine/agent-api/app/actorAnimationHandle.js +7 -4
- package/dist/engine/agent-api/app/actorAnimationHandle.js.map +1 -1
- package/dist/engine/agent-api/app/canvas.d.ts +21 -0
- package/dist/engine/agent-api/app/canvas.d.ts.map +1 -1
- package/dist/engine/agent-api/app/canvas.js +119 -7
- package/dist/engine/agent-api/app/canvas.js.map +1 -1
- package/dist/engine/agent-api/app/createAuraApp.d.ts.map +1 -1
- package/dist/engine/agent-api/app/createAuraApp.js +104 -15
- package/dist/engine/agent-api/app/createAuraApp.js.map +1 -1
- package/dist/engine/agent-api/app/frameLoop.d.ts +13 -0
- package/dist/engine/agent-api/app/frameLoop.d.ts.map +1 -1
- package/dist/engine/agent-api/app/frameLoop.js +93 -12
- package/dist/engine/agent-api/app/frameLoop.js.map +1 -1
- package/dist/engine/agent-api/app/parentFit.d.ts +20 -2
- package/dist/engine/agent-api/app/parentFit.d.ts.map +1 -1
- package/dist/engine/agent-api/app/parentFit.js +13 -9
- package/dist/engine/agent-api/app/parentFit.js.map +1 -1
- package/dist/engine/agent-api/app/renderPath.d.ts +31 -2
- package/dist/engine/agent-api/app/renderPath.d.ts.map +1 -1
- package/dist/engine/agent-api/app/renderPath.js +128 -22
- package/dist/engine/agent-api/app/renderPath.js.map +1 -1
- package/dist/engine/agent-api/app/rendererOptions.d.ts +27 -4
- package/dist/engine/agent-api/app/rendererOptions.d.ts.map +1 -1
- package/dist/engine/agent-api/app/rendererOptions.js +63 -16
- package/dist/engine/agent-api/app/rendererOptions.js.map +1 -1
- package/dist/engine/agent-api/app/runtimeNodes.d.ts +2 -0
- package/dist/engine/agent-api/app/runtimeNodes.d.ts.map +1 -1
- package/dist/engine/agent-api/app/runtimeNodes.js +76 -2
- package/dist/engine/agent-api/app/runtimeNodes.js.map +1 -1
- package/dist/engine/agent-api/compiler/animation.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/animation.js +4 -3
- package/dist/engine/agent-api/compiler/animation.js.map +1 -1
- package/dist/engine/agent-api/compiler/compileScene.d.ts +21 -5
- package/dist/engine/agent-api/compiler/compileScene.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/compileScene.js +103 -11
- package/dist/engine/agent-api/compiler/compileScene.js.map +1 -1
- package/dist/engine/agent-api/compiler/contactShadowKey.d.ts +14 -0
- package/dist/engine/agent-api/compiler/contactShadowKey.d.ts.map +1 -0
- package/dist/engine/agent-api/compiler/contactShadowKey.js +66 -0
- package/dist/engine/agent-api/compiler/contactShadowKey.js.map +1 -0
- package/dist/engine/agent-api/compiler/environment.d.ts +37 -0
- package/dist/engine/agent-api/compiler/environment.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/environment.js +129 -11
- package/dist/engine/agent-api/compiler/environment.js.map +1 -1
- package/dist/engine/agent-api/compiler/mountedRoots.d.ts +6 -0
- package/dist/engine/agent-api/compiler/mountedRoots.d.ts.map +1 -0
- package/dist/engine/agent-api/compiler/mountedRoots.js +25 -0
- package/dist/engine/agent-api/compiler/mountedRoots.js.map +1 -0
- package/dist/engine/agent-api/compiler/primitives.d.ts +13 -1
- package/dist/engine/agent-api/compiler/primitives.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/primitives.js +28 -3
- package/dist/engine/agent-api/compiler/primitives.js.map +1 -1
- package/dist/engine/agent-api/compiler/renderer.d.ts +5 -3
- package/dist/engine/agent-api/compiler/renderer.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/renderer.js +33 -7
- package/dist/engine/agent-api/compiler/renderer.js.map +1 -1
- package/dist/engine/agent-api/compiler/shadows.d.ts +4 -1
- package/dist/engine/agent-api/compiler/shadows.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/shadows.js +6 -2
- package/dist/engine/agent-api/compiler/shadows.js.map +1 -1
- package/dist/engine/agent-api/nodes/instances.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/instances.js +16 -4
- package/dist/engine/agent-api/nodes/instances.js.map +1 -1
- package/dist/engine/agent-api/nodes/model.d.ts +15 -0
- package/dist/engine/agent-api/nodes/model.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/model.js +37 -0
- package/dist/engine/agent-api/nodes/model.js.map +1 -1
- package/dist/engine/agent-api/nodes/physics.d.ts +25 -0
- package/dist/engine/agent-api/nodes/physics.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/physics.js +107 -11
- package/dist/engine/agent-api/nodes/physics.js.map +1 -1
- package/dist/engine/agent-api/nodes/primitives.d.ts +16 -1
- package/dist/engine/agent-api/nodes/primitives.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/primitives.js +11 -8
- package/dist/engine/agent-api/nodes/primitives.js.map +1 -1
- package/dist/engine/agent-api/nodes/types/runtime.d.ts +5 -0
- package/dist/engine/agent-api/nodes/types/runtime.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/types.d.ts +2 -0
- package/dist/engine/agent-api/nodes/types.d.ts.map +1 -1
- package/dist/engine/contracts/environment.d.ts +9 -0
- package/dist/engine/contracts/environment.d.ts.map +1 -1
- package/dist/engine/contracts/environment.js.map +1 -1
- package/dist/engine/contracts/lighting.d.ts +3 -0
- package/dist/engine/contracts/lighting.d.ts.map +1 -1
- package/dist/engine/contracts/lighting.js.map +1 -1
- package/dist/engine/lanes/prd02.d.ts +12 -4
- package/dist/engine/lanes/prd02.d.ts.map +1 -1
- package/dist/engine/lanes/prd02.js +23 -7
- package/dist/engine/lanes/prd02.js.map +1 -1
- package/dist/game/touch/TouchControls.d.ts.map +1 -1
- package/dist/game/touch/TouchControls.js +48 -12
- package/dist/game/touch/TouchControls.js.map +1 -1
- package/dist/react/index.d.ts +13 -0
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +88 -8
- package/dist/react/index.js.map +1 -1
- package/dist/rendering/DepthPass.d.ts +7 -0
- package/dist/rendering/DepthPass.d.ts.map +1 -1
- package/dist/rendering/DepthPass.js +40 -4
- package/dist/rendering/DepthPass.js.map +1 -1
- package/dist/rendering/ForwardPass.d.ts +69 -5
- package/dist/rendering/ForwardPass.d.ts.map +1 -1
- package/dist/rendering/ForwardPass.js +119 -27
- package/dist/rendering/ForwardPass.js.map +1 -1
- package/dist/rendering/RenderDevice.d.ts +5 -0
- package/dist/rendering/RenderDevice.d.ts.map +1 -1
- package/dist/rendering/RenderDevice.js.map +1 -1
- package/dist/rendering/RendererPostprocessPlan.d.ts.map +1 -1
- package/dist/rendering/RendererPostprocessPlan.js +8 -1
- package/dist/rendering/RendererPostprocessPlan.js.map +1 -1
- package/dist/rendering/WebGL2Device.d.ts +3 -0
- package/dist/rendering/WebGL2Device.d.ts.map +1 -1
- package/dist/rendering/WebGL2Device.js +20 -0
- package/dist/rendering/WebGL2Device.js.map +1 -1
- package/dist/rendering/forward/Lighting.d.ts +32 -0
- package/dist/rendering/forward/Lighting.d.ts.map +1 -1
- package/dist/rendering/forward/Lighting.js +103 -3
- package/dist/rendering/forward/Lighting.js.map +1 -1
- package/dist/rendering/index.d.ts +2 -2
- package/dist/rendering/index.d.ts.map +1 -1
- package/dist/rendering/index.js +1 -1
- package/dist/rendering/index.js.map +1 -1
- package/dist/rendering/post/v2Stages.d.ts.map +1 -1
- package/dist/rendering/post/v2Stages.js +2 -0
- package/dist/rendering/post/v2Stages.js.map +1 -1
- package/dist/rendering/quality/DirectPath.d.ts +13 -0
- package/dist/rendering/quality/DirectPath.d.ts.map +1 -1
- package/dist/rendering/quality/DirectPath.js +33 -1
- package/dist/rendering/quality/DirectPath.js.map +1 -1
- package/dist/rendering/renderer/Background.d.ts.map +1 -1
- package/dist/rendering/renderer/Background.js +31 -2
- package/dist/rendering/renderer/Background.js.map +1 -1
- package/dist/rendering/renderer/InstanceFrustumCull.d.ts +5 -3
- package/dist/rendering/renderer/InstanceFrustumCull.d.ts.map +1 -1
- package/dist/rendering/renderer/InstanceFrustumCull.js +17 -6
- package/dist/rendering/renderer/InstanceFrustumCull.js.map +1 -1
- package/dist/rendering/shaders/chunks/lighting_ibl.glsl.d.ts +6 -1
- package/dist/rendering/shaders/chunks/lighting_ibl.glsl.d.ts.map +1 -1
- package/dist/rendering/shaders/chunks/lighting_ibl.glsl.js +8 -2
- package/dist/rendering/shaders/chunks/lighting_ibl.glsl.js.map +1 -1
- package/dist/rendering/shadows/CascadeUse.d.ts +3 -0
- package/dist/rendering/shadows/CascadeUse.d.ts.map +1 -1
- package/dist/rendering/shadows/CascadeUse.js +16 -1
- package/dist/rendering/shadows/CascadeUse.js.map +1 -1
- package/dist/rendering/shadows/Prd02ShadowsContributor.d.ts +4 -0
- package/dist/rendering/shadows/Prd02ShadowsContributor.d.ts.map +1 -1
- package/dist/rendering/shadows/Prd02ShadowsContributor.js +3 -1
- package/dist/rendering/shadows/Prd02ShadowsContributor.js.map +1 -1
- package/dist/rendering/webgl2/ContextLifecycle.d.ts.map +1 -1
- package/dist/rendering/webgl2/ContextLifecycle.js +14 -2
- package/dist/rendering/webgl2/ContextLifecycle.js.map +1 -1
- package/dist/rendering/webgl2/MultiDraw.d.ts +2 -0
- package/dist/rendering/webgl2/MultiDraw.d.ts.map +1 -1
- package/dist/rendering/webgl2/MultiDraw.js +24 -6
- package/dist/rendering/webgl2/MultiDraw.js.map +1 -1
- package/package.json +25 -25
- package/templates/cinematic-scene/package.json +2 -2
- package/templates/mini-game/package.json +2 -2
- package/templates/product-viewer/package.json +2 -2
- package/templates/production-asset-inspector/package.json +1 -1
- package/templates/production-material-studio/package.json +1 -1
- package/templates/production-product-configurator/package.json +1 -1
- package/templates/production-product-viewer/package.json +1 -1
|
@@ -38,6 +38,19 @@ export interface RenderPathDecision {
|
|
|
38
38
|
export declare const QUALITY_MODES: readonly AuraQualityMode[];
|
|
39
39
|
export declare function isQualityMode(value: unknown): value is AuraQualityMode;
|
|
40
40
|
export declare function resolveRenderPath(input: RenderPathInput): RenderPathDecision;
|
|
41
|
+
/** The parts of a render item {@link directPathItemBlockers} reads (structural, so no GL types are needed). */
|
|
42
|
+
export interface DirectPathItemLike {
|
|
43
|
+
readonly label?: string;
|
|
44
|
+
readonly material?: unknown;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* RP-01: reasons a decoded scene needs the HDR target that the authored snapshot cannot show, read from the render items a GLB
|
|
48
|
+
* produced. Blending happens after the in-shader encode on the direct path (display space) but before it on the HDR path (linear),
|
|
49
|
+
* so a BLEND material renders differently (50% white over black: 113/255 direct against 197/255 HDR). Transmission needs the
|
|
50
|
+
* HDR scene-colour capture. The transmission test mirrors `itemReportsTransmissionLobe` (forward/Transmission.ts). Each reason
|
|
51
|
+
* appears once.
|
|
52
|
+
*/
|
|
53
|
+
export declare function directPathItemBlockers(items: readonly DirectPathItemLike[]): string[];
|
|
41
54
|
/** The renderer flags for the direct path: the OutputPass/HDR-target route pinned off. */
|
|
42
55
|
export declare function withDirectPath(flags: QrFlags): QrFlags;
|
|
43
56
|
//# sourceMappingURL=DirectPath.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DirectPath.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/quality/DirectPath.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGjD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,CAAC;AACjF,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,gFAAgF;IAChF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,aAAa,EAAE,SAAS,eAAe,EAAsD,CAAC;AAE3G,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAEtE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,kBAAkB,
|
|
1
|
+
{"version":3,"file":"DirectPath.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/quality/DirectPath.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGjD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,CAAC;AACjF,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,SAAS,CAAC;IAC9C;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,gFAAgF;IAChF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,aAAa,EAAE,SAAS,eAAe,EAAsD,CAAC;AAE3G,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAEtE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,eAAe,GAAG,kBAAkB,CAc5E;AAED,+GAA+G;AAC/G,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AASD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,GAAG,MAAM,EAAE,CAiBrF;AAED,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEtD"}
|
|
@@ -28,13 +28,45 @@ export function resolveRenderPath(input) {
|
|
|
28
28
|
return { path: "hdr-msaa", quality, reason: `quality "${quality}" always uses the HDR multisampled target` };
|
|
29
29
|
}
|
|
30
30
|
if (quality === "safe-basic") {
|
|
31
|
-
|
|
31
|
+
// RP-06: the direct path has no post chain, so whatever would have needed the HDR target is dropped; name it.
|
|
32
|
+
const dropped = input.blockers.length > 0 ? `; not rendered on this path: ${input.blockers.join("; ")}` : "";
|
|
33
|
+
return { path: "direct", quality, reason: `quality "safe-basic" always uses the direct path${dropped}` };
|
|
32
34
|
}
|
|
33
35
|
if (input.blockers.length > 0) {
|
|
34
36
|
return { path: "hdr-msaa", quality, reason: `scene needs the HDR target: ${input.blockers.join("; ")}` };
|
|
35
37
|
}
|
|
36
38
|
return { path: "direct", quality, reason: "scene authors no post-processing, HDR output or transmission" };
|
|
37
39
|
}
|
|
40
|
+
function numericParameter(material, name) {
|
|
41
|
+
const value = material.getParameter?.(name);
|
|
42
|
+
return typeof value === "number" && Number.isFinite(value) ? value : 0;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* RP-01: reasons a decoded scene needs the HDR target that the authored snapshot cannot show, read from the render items a GLB
|
|
46
|
+
* produced. Blending happens after the in-shader encode on the direct path (display space) but before it on the HDR path (linear),
|
|
47
|
+
* so a BLEND material renders differently (50% white over black: 113/255 direct against 197/255 HDR). Transmission needs the
|
|
48
|
+
* HDR scene-colour capture. The transmission test mirrors `itemReportsTransmissionLobe` (forward/Transmission.ts). Each reason
|
|
49
|
+
* appears once.
|
|
50
|
+
*/
|
|
51
|
+
export function directPathItemBlockers(items) {
|
|
52
|
+
const reasons = new Set();
|
|
53
|
+
for (const item of items) {
|
|
54
|
+
const material = item.material;
|
|
55
|
+
if (!material)
|
|
56
|
+
continue;
|
|
57
|
+
const base = material.baseMaterial ?? material;
|
|
58
|
+
if (base.renderState?.blend) {
|
|
59
|
+
reasons.add("decoded GLB has a transparent (BLEND) material");
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
if (numericParameter(base, "u_transmissionFactor") > 0.001
|
|
63
|
+
|| numericParameter(base, "u_diffuseTransmissionFactor") > 0.001
|
|
64
|
+
|| numericParameter(base, "u_volumeThicknessFactor") > 0.001) {
|
|
65
|
+
reasons.add("decoded GLB has a transmission material");
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return [...reasons];
|
|
69
|
+
}
|
|
38
70
|
/** The renderer flags for the direct path: the OutputPass/HDR-target route pinned off. */
|
|
39
71
|
export function withDirectPath(flags) {
|
|
40
72
|
return withCoreOutputOff(flags);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DirectPath.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/quality/DirectPath.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAsBpE,MAAM,CAAC,MAAM,aAAa,GAA+B,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;AAE3G,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,aAAmC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAsB;IACtD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC;IACxC,IAAI,OAAO,KAAK,YAAY,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QACxD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,OAAO,2CAA2C,EAAE,CAAC;IAC/G,CAAC;IACD,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"DirectPath.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/quality/DirectPath.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Background.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/Background.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,KAAK,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC3G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAO9D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"Background.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/Background.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,KAAK,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC3G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAO9D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AA4DtC,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,4BAA4B,GAAG,SAAS,CAU1I;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,YAAY,GACnB,4BAA4B,GAAG,SAAS,CA8C1C;AAED,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,0BAA0B,GAAG,SAAS,CAgBtI;AAKD;;;;;GAKG;AACH,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,0BAA0B,GAAG,SAAS,GAAG,OAAO,CAI1G;AAKD;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,0BAA0B,GAAG,SAAS,GAAG,0BAA0B,CAQ1H;AAoBD,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,YAAY,GAAG,0BAA0B,GAAG,SAAS,CAiE5G;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,GAAG,4BAA4B,GAAG,KAAK,GAAG,SAAS,CAG3I;AA6CD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qCAAqC,EAAE,0BAWnD,CAAC"}
|
|
@@ -14,6 +14,31 @@ const PRD02_BACKGROUND_SAMPLER = new Sampler({
|
|
|
14
14
|
addressU: "clamp-to-edge",
|
|
15
15
|
addressV: "clamp-to-edge"
|
|
16
16
|
});
|
|
17
|
+
function sameHemisphere(a, b) {
|
|
18
|
+
if (a === null || b === null)
|
|
19
|
+
return a === b;
|
|
20
|
+
for (let i = 0; i < 3; i += 1) {
|
|
21
|
+
if (a.sky[i] !== b.sky[i] || a.ground[i] !== b.ground[i] || a.direction[i] !== b.direction[i])
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* The ambient scalar every program reads, with the hemisphere's flat mean folded in (programs without the PRD-02
|
|
28
|
+
* chunk keep the hemisphere at its horizontal-normal value; the chunk's pack takes the mean back out).
|
|
29
|
+
*/
|
|
30
|
+
function ambientWithHemisphereMean(ambient, hemisphere) {
|
|
31
|
+
if (!hemisphere)
|
|
32
|
+
return ambient;
|
|
33
|
+
const total = [0, 0, 0];
|
|
34
|
+
for (let i = 0; i < 3; i += 1) {
|
|
35
|
+
total[i] = (ambient ? ambient.color[i] * ambient.intensity : 0) + (hemisphere.sky[i] + hemisphere.ground[i]) / 2;
|
|
36
|
+
}
|
|
37
|
+
const peak = Math.max(total[0], total[1], total[2]);
|
|
38
|
+
if (!(peak > 0))
|
|
39
|
+
return ambient;
|
|
40
|
+
return { color: [total[0] / peak, total[1] / peak, total[2] / peak], intensity: peak };
|
|
41
|
+
}
|
|
17
42
|
export function collectEnvironmentBackground(source) {
|
|
18
43
|
if (source instanceof Scene || isIterable(source) || source.environmentBackground === false)
|
|
19
44
|
return undefined;
|
|
@@ -158,13 +183,15 @@ export function resolvePrd02EnvironmentLighting(source) {
|
|
|
158
183
|
const meta = source;
|
|
159
184
|
const diffuse = meta.environmentProbeDiffuseIntensity ?? 1;
|
|
160
185
|
const specular = meta.environmentProbeSpecularIntensity ?? 1;
|
|
161
|
-
const
|
|
186
|
+
const hemisphere = meta.environmentProbeHemisphere ?? null;
|
|
187
|
+
const ambient = ambientWithHemisphereMean(meta.environmentProbeAmbient ?? null, hemisphere);
|
|
162
188
|
const withProbe = rendererQrFlags().on("A3D_QR_COMPILER") && rendererQrFlags().on("A3D_QR_LIGHTING");
|
|
163
189
|
const memo = prd02LightingMemo.get(probe);
|
|
164
190
|
if (memo
|
|
165
191
|
&& memo.diffuse === diffuse
|
|
166
192
|
&& memo.specular === specular
|
|
167
193
|
&& memo.withProbe === withProbe
|
|
194
|
+
&& sameHemisphere(memo.hemisphere, hemisphere)
|
|
168
195
|
&& (memo.ambient === null
|
|
169
196
|
? ambient === null
|
|
170
197
|
: ambient !== null
|
|
@@ -198,12 +225,14 @@ export function resolvePrd02EnvironmentLighting(source) {
|
|
|
198
225
|
// LIGHTING-only lighting object stays byte-identical.
|
|
199
226
|
...(withProbe
|
|
200
227
|
? { environmentProbe: probe }
|
|
201
|
-
: {})
|
|
228
|
+
: {}),
|
|
229
|
+
...(hemisphere ? { hemisphere: { sky: [...hemisphere.sky], ground: [...hemisphere.ground], direction: [...hemisphere.direction] } } : {})
|
|
202
230
|
};
|
|
203
231
|
prd02LightingMemo.set(probe, {
|
|
204
232
|
diffuse,
|
|
205
233
|
specular,
|
|
206
234
|
withProbe,
|
|
235
|
+
hemisphere: hemisphere ? { sky: [...hemisphere.sky], ground: [...hemisphere.ground], direction: [...hemisphere.direction] } : null,
|
|
207
236
|
ambient: ambient ? [ambient.color[0], ambient.color[1], ambient.color[2], ambient.intensity] : null,
|
|
208
237
|
result
|
|
209
238
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Background.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/Background.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Background.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/Background.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,10 @@
|
|
|
6
6
|
* whose bounding sphere intersects the view frustum, in draw order, so the draw is pixel-identical and cheaper. It is conservative: the
|
|
7
7
|
* sphere is inflated, and anything it cannot reason about (non-finite matrices, tiny draws) is left to the caller's normal path.
|
|
8
8
|
*
|
|
9
|
-
* The scan
|
|
10
|
-
*
|
|
9
|
+
* The scan and the output are allocation-free in steady state (SI-2): the keep list and the compacted transforms and colours live in
|
|
10
|
+
* module scratch buffers that grow on demand and are reused, so the result arrays are views that stay valid only until the next call.
|
|
11
|
+
* Every consumer in the forward draw copies them synchronously (InstanceBuffer.setMatrices, the uniform pack, createBuffer with data).
|
|
12
|
+
* Before this a 900-slot pool with most slots parked off-screen allocated about 72 KB of fresh arrays per frame.
|
|
11
13
|
*/
|
|
12
14
|
/** Below this many instances the GPU handles the draw trivially and the scan would cost more than it saves. */
|
|
13
15
|
export declare const MIN_CULLED_INSTANCES = 512;
|
|
@@ -32,7 +34,7 @@ export interface InstanceFrustumCullResult {
|
|
|
32
34
|
readonly total: number;
|
|
33
35
|
}
|
|
34
36
|
/**
|
|
35
|
-
* Returns the visible subset, or null when nothing was culled (or culling does not apply), in which case the caller keeps its originals.
|
|
37
|
+
* Returns the visible subset (views into reused scratch, valid until the next call), or null when nothing was culled (or culling does not apply), in which case the caller keeps its originals.
|
|
36
38
|
* A result with `count === 0` means every instance is outside the frustum.
|
|
37
39
|
*/
|
|
38
40
|
export declare function cullInstancesToFrustum(input: InstanceFrustumCullInput): InstanceFrustumCullResult | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstanceFrustumCull.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/InstanceFrustumCull.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"InstanceFrustumCull.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/InstanceFrustumCull.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,+GAA+G;AAC/G,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAIxC,MAAM,WAAW,wBAAwB;IACvC,mGAAmG;IACnG,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3C,yEAAyE;IACzE,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACrD,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;KAAE,CAAC;IACtF,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,uEAAuE;IACvE,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAwCD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,wBAAwB,GAAG,yBAAyB,GAAG,IAAI,CAoExG"}
|
|
@@ -6,14 +6,21 @@
|
|
|
6
6
|
* whose bounding sphere intersects the view frustum, in draw order, so the draw is pixel-identical and cheaper. It is conservative: the
|
|
7
7
|
* sphere is inflated, and anything it cannot reason about (non-finite matrices, tiny draws) is left to the caller's normal path.
|
|
8
8
|
*
|
|
9
|
-
* The scan
|
|
10
|
-
*
|
|
9
|
+
* The scan and the output are allocation-free in steady state (SI-2): the keep list and the compacted transforms and colours live in
|
|
10
|
+
* module scratch buffers that grow on demand and are reused, so the result arrays are views that stay valid only until the next call.
|
|
11
|
+
* Every consumer in the forward draw copies them synchronously (InstanceBuffer.setMatrices, the uniform pack, createBuffer with data).
|
|
12
|
+
* Before this a 900-slot pool with most slots parked off-screen allocated about 72 KB of fresh arrays per frame.
|
|
11
13
|
*/
|
|
12
14
|
/** Below this many instances the GPU handles the draw trivially and the scan would cost more than it saves. */
|
|
13
15
|
export const MIN_CULLED_INSTANCES = 512;
|
|
14
16
|
/** Conservative inflation of each instance's bounding sphere (covers wind sway, rounding and TAA jitter). */
|
|
15
17
|
const RADIUS_INFLATION = 1.15;
|
|
16
18
|
let keepScratch = new Uint32Array(0);
|
|
19
|
+
let transformScratch = new Float32Array(0);
|
|
20
|
+
let colorScratch = new Float32Array(0);
|
|
21
|
+
function grown(current, length) {
|
|
22
|
+
return current.length >= length ? current : new Float32Array(Math.max(length, current.length * 2));
|
|
23
|
+
}
|
|
17
24
|
const planes = new Float64Array(24);
|
|
18
25
|
function extractPlanes(vp) {
|
|
19
26
|
// Gribb-Hartmann on a column-major matrix: row i = (m[i], m[4+i], m[8+i], m[12+i]).
|
|
@@ -50,7 +57,7 @@ function isIdentity(m) {
|
|
|
50
57
|
return true;
|
|
51
58
|
}
|
|
52
59
|
/**
|
|
53
|
-
* Returns the visible subset, or null when nothing was culled (or culling does not apply), in which case the caller keeps its originals.
|
|
60
|
+
* Returns the visible subset (views into reused scratch, valid until the next call), or null when nothing was culled (or culling does not apply), in which case the caller keeps its originals.
|
|
54
61
|
* A result with `count === 0` means every instance is outside the frustum.
|
|
55
62
|
*/
|
|
56
63
|
export function cullInstancesToFrustum(input) {
|
|
@@ -113,9 +120,13 @@ export function cullInstancesToFrustum(input) {
|
|
|
113
120
|
}
|
|
114
121
|
if (kept === total)
|
|
115
122
|
return null;
|
|
116
|
-
|
|
117
|
-
const outTransforms =
|
|
118
|
-
|
|
123
|
+
transformScratch = grown(transformScratch, kept * 16);
|
|
124
|
+
const outTransforms = transformScratch.subarray(0, kept * 16);
|
|
125
|
+
let outColors;
|
|
126
|
+
if (colors !== undefined) {
|
|
127
|
+
colorScratch = grown(colorScratch, kept * 4);
|
|
128
|
+
outColors = colorScratch.subarray(0, kept * 4);
|
|
129
|
+
}
|
|
119
130
|
for (let k = 0; k < kept; k += 1) {
|
|
120
131
|
const i = keepScratch[k];
|
|
121
132
|
outTransforms.set(transforms.subarray(i * 16, i * 16 + 16), k * 16);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstanceFrustumCull.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/InstanceFrustumCull.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"InstanceFrustumCull.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/InstanceFrustumCull.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,11 @@ export declare const LIGHTING_IBL_CHUNK_GLSL = "\nuniform samplerCube u_envSpecu
|
|
|
24
24
|
* (which divide by pi) and applied once as exit radiance. `a3dEnvIrradiance`
|
|
25
25
|
* keeps the name/scale the C-03 lobe IBL calls read from the default body
|
|
26
26
|
* (true irradiance, cf. `PI * a3dSampleEnvironment(N, 8.0)` there).
|
|
27
|
+
*
|
|
28
|
+
* LIGHT-05/08: the hemisphere pair (true irradiance, no 1/pi) is split out the
|
|
29
|
+
* same way and applied as a plain Lambert term, as three.js r185 does for
|
|
30
|
+
* `HemisphereLight` (it joins `irradiance`, never `iblIrradiance`), so it
|
|
31
|
+
* does not feed the multiscatter energy terms of the probe.
|
|
27
32
|
*/
|
|
28
|
-
export declare const LIGHTING_IBL_CALL_GLSL = "\nvec3 a3dPrd02Irradiance = a3dIndirectDiffuseIrradiance(N);\nvec3 a3dEnvIrradiance = max(a3dPrd02Irradiance - u_ambientIrradiance, vec3(0.0));\nindirectDiffuse += a3dIndirectDiffuse(a3dEnvIrradiance, V, N, material);\nindirectDiffuse += u_ambientIrradiance * material.diffuseContribution;\nindirectSpecular += a3dIndirectSpecular(a3dEnvSpecularRadiance(N, V, material.roughness), a3dEnvIrradiance, V, N, material);\n";
|
|
33
|
+
export declare const LIGHTING_IBL_CALL_GLSL = "\nvec3 a3dPrd02Irradiance = a3dIndirectDiffuseIrradiance(N);\nvec3 a3dHemiIrradiance = mix(u_hemiGround, u_hemiSky, dot(N, u_hemiDirection) * 0.5 + 0.5);\nvec3 a3dEnvIrradiance = max(a3dPrd02Irradiance - u_ambientIrradiance - a3dHemiIrradiance, vec3(0.0));\nindirectDiffuse += a3dIndirectDiffuse(a3dEnvIrradiance, V, N, material);\nindirectDiffuse += (u_ambientIrradiance + a3dHemiIrradiance * 0.31830989) * material.diffuseContribution;\nindirectSpecular += a3dIndirectSpecular(a3dEnvSpecularRadiance(N, V, material.roughness), a3dEnvIrradiance, V, N, material);\n";
|
|
29
34
|
//# sourceMappingURL=lighting_ibl.glsl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lighting_ibl.glsl.d.ts","sourceRoot":"","sources":["../../../../../../packages/rendering/src/shaders/chunks/lighting_ibl.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,gxGAuFnC,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"lighting_ibl.glsl.d.ts","sourceRoot":"","sources":["../../../../../../packages/rendering/src/shaders/chunks/lighting_ibl.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB,gxGAuFnC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,sBAAsB,0jBAOlC,CAAC"}
|
|
@@ -111,12 +111,18 @@ vec3 a3d_iblDiffuseFresnel(vec3 f0, float roughness, float ndv) {
|
|
|
111
111
|
* (which divide by pi) and applied once as exit radiance. `a3dEnvIrradiance`
|
|
112
112
|
* keeps the name/scale the C-03 lobe IBL calls read from the default body
|
|
113
113
|
* (true irradiance, cf. `PI * a3dSampleEnvironment(N, 8.0)` there).
|
|
114
|
+
*
|
|
115
|
+
* LIGHT-05/08: the hemisphere pair (true irradiance, no 1/pi) is split out the
|
|
116
|
+
* same way and applied as a plain Lambert term, as three.js r185 does for
|
|
117
|
+
* `HemisphereLight` (it joins `irradiance`, never `iblIrradiance`), so it
|
|
118
|
+
* does not feed the multiscatter energy terms of the probe.
|
|
114
119
|
*/
|
|
115
120
|
export const LIGHTING_IBL_CALL_GLSL = /* glsl */ `
|
|
116
121
|
vec3 a3dPrd02Irradiance = a3dIndirectDiffuseIrradiance(N);
|
|
117
|
-
vec3
|
|
122
|
+
vec3 a3dHemiIrradiance = mix(u_hemiGround, u_hemiSky, dot(N, u_hemiDirection) * 0.5 + 0.5);
|
|
123
|
+
vec3 a3dEnvIrradiance = max(a3dPrd02Irradiance - u_ambientIrradiance - a3dHemiIrradiance, vec3(0.0));
|
|
118
124
|
indirectDiffuse += a3dIndirectDiffuse(a3dEnvIrradiance, V, N, material);
|
|
119
|
-
indirectDiffuse += u_ambientIrradiance * material.diffuseContribution;
|
|
125
|
+
indirectDiffuse += (u_ambientIrradiance + a3dHemiIrradiance * 0.31830989) * material.diffuseContribution;
|
|
120
126
|
indirectSpecular += a3dIndirectSpecular(a3dEnvSpecularRadiance(N, V, material.roughness), a3dEnvIrradiance, V, N, material);
|
|
121
127
|
`;
|
|
122
128
|
//# sourceMappingURL=lighting_ibl.glsl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lighting_ibl.glsl.js","sourceRoot":"","sources":["../../../../../../packages/rendering/src/shaders/chunks/lighting_ibl.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuFjD,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"lighting_ibl.glsl.js","sourceRoot":"","sources":["../../../../../../packages/rendering/src/shaders/chunks/lighting_ibl.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuFjD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;;;;;;;CAOhD,CAAC"}
|
|
@@ -9,11 +9,14 @@
|
|
|
9
9
|
* `selectForwardShadowMap`), the same item centre (`renderItemWorldCenter`) and the same camera inputs the renderer hands the forward pass
|
|
10
10
|
* (`resolvedCamera.viewMatrix`, `cameraPosition`). Every cascade no receiver picks is reported as unused. Because the decision is computed by the
|
|
11
11
|
* forward path's own function and not by a parallel formula, a skipped cascade is one the forward path cannot select for these receivers.
|
|
12
|
+
* Instanced receivers (SI-1) select by instance coverage (`forwardCascadePosition`); every cascade holding any of their instances counts as used.
|
|
12
13
|
*/
|
|
13
14
|
import type { RenderItem } from "../contracts/renderItem.js";
|
|
14
15
|
export interface CascadeUseFit {
|
|
15
16
|
readonly index: number;
|
|
16
17
|
readonly splitFar: number;
|
|
18
|
+
/** The cascade's unbiased light view-projection (what the bridge hands the forward pass as `lightMatrix`); needed for instanced receivers. */
|
|
19
|
+
readonly drawViewProjection?: ArrayLike<number>;
|
|
17
20
|
}
|
|
18
21
|
/** The camera inputs `ForwardPass` receives as `cameraViewMatrix` / `cameraPosition`; they decide which depth the forward path measures. */
|
|
19
22
|
export interface CascadeUseCamera {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CascadeUse.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/CascadeUse.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"CascadeUse.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/CascadeUse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8IAA8I;IAC9I,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CACjD;AAED,4IAA4I;AAC5I,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,YAAY,GAAG,SAAS,MAAM,EAAE,CAAC;IACvD,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAClD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,SAAS,aAAa,EAAE,EAC9B,SAAS,EAAE,SAAS,UAAU,EAAE,EAChC,MAAM,EAAE,gBAAgB,GACvB,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CA4BjC"}
|
|
@@ -9,8 +9,9 @@
|
|
|
9
9
|
* `selectForwardShadowMap`), the same item centre (`renderItemWorldCenter`) and the same camera inputs the renderer hands the forward pass
|
|
10
10
|
* (`resolvedCamera.viewMatrix`, `cameraPosition`). Every cascade no receiver picks is reported as unused. Because the decision is computed by the
|
|
11
11
|
* forward path's own function and not by a parallel formula, a skipped cascade is one the forward path cannot select for these receivers.
|
|
12
|
+
* Instanced receivers (SI-1) select by instance coverage (`forwardCascadePosition`); every cascade holding any of their instances counts as used.
|
|
12
13
|
*/
|
|
13
|
-
import { forwardCascadeSelectionDepth, renderItemWorldCenter } from "../forward/Lighting.js";
|
|
14
|
+
import { forwardCascadeSelectionDepth, forwardInstanceCascadeCoverage, forwardInstancedCascadeReceiver, renderItemWorldCenter } from "../forward/Lighting.js";
|
|
14
15
|
/**
|
|
15
16
|
* Indices of cascades no receiver can select, or `undefined` when the answer cannot be given safely (fewer than two cascades, no receivers,
|
|
16
17
|
* neither a view matrix nor an eye, non-finite depths). `undefined` means "render every cascade".
|
|
@@ -34,6 +35,20 @@ export function unusedCascadeIndices(fits, receivers, camera) {
|
|
|
34
35
|
break;
|
|
35
36
|
}
|
|
36
37
|
used.add(pick);
|
|
38
|
+
// SI-1: an instanced receiver picks the cascade holding most of its (camera-culled) instance centres. The culled set is only known
|
|
39
|
+
// inside the forward draw, so mark every cascade that holds any instance: the forward pick is always one of them or the centre pick.
|
|
40
|
+
if (forwardInstancedCascadeReceiver(item)) {
|
|
41
|
+
const coverage = forwardInstanceCascadeCoverage(item, fits.map((fit) => fit.drawViewProjection), false);
|
|
42
|
+
if (!coverage) {
|
|
43
|
+
if (fits.some((fit) => fit.drawViewProjection === undefined))
|
|
44
|
+
return undefined;
|
|
45
|
+
// Non-finite instance data: the forward pass falls back to the centre pick, already counted.
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
coverage.counts.forEach((count, i) => { if (count > 0)
|
|
49
|
+
used.add(i); });
|
|
50
|
+
}
|
|
51
|
+
}
|
|
37
52
|
if (used.size === fits.length)
|
|
38
53
|
return undefined;
|
|
39
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CascadeUse.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/CascadeUse.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"CascadeUse.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/CascadeUse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,4BAA4B,EAAE,8BAA8B,EAAE,+BAA+B,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAgB3J;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAA8B,EAC9B,SAAgC,EAChC,MAAwB;IAExB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;IAClF,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,4BAA4B,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,CAAC;QAC1H,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC9C,iEAAiE;QACjE,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;YAAE,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,CAAE,CAAC,QAAQ,EAAE,CAAC;gBAAC,IAAI,GAAG,CAAC,CAAC;gBAAC,MAAM;YAAC,CAAC;QAC7F,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACf,mIAAmI;QACnI,qIAAqI;QACrI,IAAI,+BAA+B,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,8BAA8B,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,KAAK,CAAC,CAAC;YACxG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC;oBAAE,OAAO,SAAS,CAAC;gBAC/E,6FAA6F;YAC/F,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,KAAK,GAAG,CAAC;oBAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;IAClD,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC"}
|
|
@@ -35,6 +35,10 @@ export interface Prd02ShadowDiagnostics {
|
|
|
35
35
|
readonly filter: string;
|
|
36
36
|
readonly casterVariants: readonly string[];
|
|
37
37
|
readonly sampled: boolean;
|
|
38
|
+
/** Sun row only: cascades fitted this frame. */
|
|
39
|
+
readonly cascadeCount?: number;
|
|
40
|
+
/** Sun row only (SI-5): cascade indices allocated but not redrawn because no receiver can select them (PRD-2 WP-7). */
|
|
41
|
+
readonly skippedCascades?: readonly number[];
|
|
38
42
|
}[];
|
|
39
43
|
readonly droppedFeatures: readonly string[];
|
|
40
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Prd02ShadowsContributor.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/Prd02ShadowsContributor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAqC,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AAG7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAGzF,OAAO,KAAK,EAA+C,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAanI,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,uBAAuB,GAAG,uBAAuB,CAElG;AAkBD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,uBAAuB,GAAG;IACvE,QAAQ,CAAC,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,sBAAsB,EAAE,CAAC;CAChD,CAgDA;AAED,+EAA+E;AAC/E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS;QACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;QAC3C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Prd02ShadowsContributor.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/Prd02ShadowsContributor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAqC,KAAK,IAAI,EAAE,MAAM,eAAe,CAAC;AAG7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAGzF,OAAO,KAAK,EAA+C,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAanI,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,uBAAuB,GAAG,uBAAuB,CAElG;AAkBD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,uBAAuB,GAAG;IACvE,QAAQ,CAAC,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,sBAAsB,EAAE,CAAC;CAChD,CAgDA;AAED,+EAA+E;AAC/E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS;QACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;QAC3C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAC1B,gDAAgD;QAChD,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;QAC/B,uHAAuH;QACvH,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KAC9C,EAAE,CAAC;IACJ,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAID,8EAA8E;AAC9E,wBAAgB,sBAAsB,IAAI,sBAAsB,GAAG,IAAI,CAEtE;AAsED,wBAAgB,6BAA6B,IAAI,gBAAgB,CAuBhE"}
|
|
@@ -157,7 +157,9 @@ class Prd02ShadowsRenderPass extends BaseRenderPass {
|
|
|
157
157
|
light: "sun",
|
|
158
158
|
filter: config.filter,
|
|
159
159
|
casterVariants: diag.casterVariants,
|
|
160
|
-
sampled: rendered && diag.cascadeCount > 0
|
|
160
|
+
sampled: rendered && diag.cascadeCount > 0,
|
|
161
|
+
cascadeCount: diag.cascadeCount,
|
|
162
|
+
skippedCascades: [...diag.skippedCascades]
|
|
161
163
|
},
|
|
162
164
|
...Array.from({ length: diag.localLights }, (_, i) => ({
|
|
163
165
|
light: `local-${i}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Prd02ShadowsContributor.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/Prd02ShadowsContributor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Prd02ShadowsContributor.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/shadows/Prd02ShadowsContributor.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;IA+CjG,QAAQ,CAAC,mBAAmB,CAAC,EAAE,aAAa,CAAC;IAE7C,QAAQ,CAAC,uBAAuB,CAAC,EAAE,aAAa,CAAC;IAEjD,QAAQ,CAAC,mBAAmB,YAAiB,IAAI,EAAI;IAErD,QAAQ,CAAC,uBAAuB,YAAiB,IAAI,EAAI;IAEzD,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,YAAiB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EAAI;IAE/D,WAAW,UAAS;IAEpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEhC,cAAc,SAAK;IAEnB,aAAa,SAAK;IAElB,YAAY,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAK9C,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAKlD,+EAA+E;IAC/E,cAAc,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,MAAM,IAAI;IAK5D,OAAO,CAAC,uBAAuB;IAU/B,YAAY,IAAI,OAAO;
|
|
1
|
+
{"version":3,"file":"ContextLifecycle.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/webgl2/ContextLifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,7 +87,11 @@ export class WebGL2ContextLifecycle {
|
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
isDeviceLost() {
|
|
90
|
-
|
|
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();
|
|
91
95
|
}
|
|
92
96
|
/** SC-01: viewport/scissor override and the render target it was set on (override applies only while that target is bound). */
|
|
93
97
|
viewportOverride = null;
|
|
@@ -318,7 +322,15 @@ export class WebGL2ContextLifecycle {
|
|
|
318
322
|
}
|
|
319
323
|
readError() {
|
|
320
324
|
const error = this.host.gl.getError();
|
|
321
|
-
|
|
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)}`;
|
|
322
332
|
}
|
|
323
333
|
}
|
|
334
|
+
/** WebGL's context-lost error code (`WEBGL_lose_context` and real GPU resets). */
|
|
335
|
+
const CONTEXT_LOST_WEBGL = 0x9242;
|
|
324
336
|
//# sourceMappingURL=ContextLifecycle.js.map
|