@aura3d/rendering 4.3.7 → 4.5.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.map +1 -1
- package/dist/DepthPass.js +3 -2
- package/dist/DepthPass.js.map +1 -1
- package/dist/ForwardPass.d.ts +13 -0
- package/dist/ForwardPass.d.ts.map +1 -1
- package/dist/ForwardPass.js +64 -11
- package/dist/ForwardPass.js.map +1 -1
- package/dist/MaterialBinding.js +6 -2
- package/dist/MaterialBinding.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/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 +16 -1
- package/dist/WebGL2Device.d.ts.map +1 -1
- package/dist/WebGL2Device.js +94 -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 +11 -3
- package/dist/forward/Lighting.d.ts.map +1 -1
- package/dist/forward/Lighting.js +25 -15
- 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/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 +43 -0
- package/dist/quality/DirectPath.d.ts.map +1 -0
- package/dist/quality/DirectPath.js +42 -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 +25 -2
- package/dist/renderer/Background.js.map +1 -1
- package/dist/renderer/InstanceFrustumCull.d.ts +39 -0
- package/dist/renderer/InstanceFrustumCull.d.ts.map +1 -0
- package/dist/renderer/InstanceFrustumCull.js +127 -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/shadows/CascadeUse.d.ts +28 -0
- package/dist/shadows/CascadeUse.d.ts.map +1 -0
- package/dist/shadows/CascadeUse.js +45 -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/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 +30 -3
- 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.map +1 -1
- package/dist/webgl2/MultiDraw.js +9 -1
- 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
|
@@ -7,6 +7,12 @@
|
|
|
7
7
|
* strips `undefined` leaves, so records built anywhere (materials, depth
|
|
8
8
|
* passes, warmup) key identically.
|
|
9
9
|
*/
|
|
10
|
+
/**
|
|
11
|
+
* Feature bit (in `ProgramFeatures.features`): this forward program writes straight to the canvas (the direct render
|
|
12
|
+
* path: no post chain, no OutputPass), so it must encode its own output. Set by `ForwardPass` and the warm-up exactly
|
|
13
|
+
* when the frame's output colour space is `srgb`; absent on every HDR/post-chain program, which stay byte-identical.
|
|
14
|
+
*/
|
|
15
|
+
export const PROGRAM_OUTPUT_SRGB_FEATURE = "a3d.output.srgb";
|
|
10
16
|
export const DEFAULT_SHADOW_RECEIVE = {
|
|
11
17
|
cascades: 0,
|
|
12
18
|
pcfTaps: 1,
|
|
@@ -40,13 +46,13 @@ export const DEFAULT_PROGRAM_FEATURES = {
|
|
|
40
46
|
backgroundCoverage: false,
|
|
41
47
|
features: {}
|
|
42
48
|
};
|
|
49
|
+
/** Removes `undefined` leaves in place. Only called on objects `normalizeProgramFeatures` has just spread into a fresh copy. */
|
|
43
50
|
function dropUndefined(value) {
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
out[k] = v;
|
|
51
|
+
for (const k in value) {
|
|
52
|
+
if (value[k] === undefined)
|
|
53
|
+
delete value[k];
|
|
48
54
|
}
|
|
49
|
-
return
|
|
55
|
+
return value;
|
|
50
56
|
}
|
|
51
57
|
/** Fill every ProgramFeatures field with canonical defaults; strips undefined leaves. */
|
|
52
58
|
export function normalizeProgramFeatures(features) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgramFeatures.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/program/ProgramFeatures.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,CAAC,MAAM,sBAAsB,GAA+B;IAChE,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,YAAY,EAAE,CAAC;IACf,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAA8B;IACvD,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,SAAS,EAAE,KAAK;IAChB,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAoB;IACvD,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,WAAW;IACnB,QAAQ,EAAE,OAAO;IACjB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,EAAE;IACd,SAAS,EAAE,QAAQ;IACnB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,KAAK;IACnB,WAAW,EAAE,KAAK;IAClB,MAAM,EAAE,cAAc;IACtB,OAAO,EAAE,sBAAsB;IAC/B,WAAW,EAAE,MAAM;IACnB,GAAG,EAAE,MAAM;IACX,YAAY,EAAE,SAAS;IACvB,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;IACzB,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,SAAS,aAAa,CAAoC,KAAQ;IAChE,
|
|
1
|
+
{"version":3,"file":"ProgramFeatures.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/program/ProgramFeatures.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;AAE7D,MAAM,CAAC,MAAM,sBAAsB,GAA+B;IAChE,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,YAAY,EAAE,CAAC;IACf,OAAO,EAAE,KAAK;CACf,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAA8B;IACvD,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,SAAS,EAAE,KAAK;IAChB,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAoB;IACvD,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,WAAW;IACnB,QAAQ,EAAE,OAAO;IACjB,IAAI,EAAE,EAAE;IACR,UAAU,EAAE,EAAE;IACd,SAAS,EAAE,QAAQ;IACnB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,KAAK;IACnB,WAAW,EAAE,KAAK;IAClB,MAAM,EAAE,cAAc;IACtB,OAAO,EAAE,sBAAsB;IAC/B,WAAW,EAAE,MAAM;IACnB,GAAG,EAAE,MAAM;IACX,YAAY,EAAE,SAAS;IACvB,oBAAoB,EAAE,KAAK;IAC3B,kBAAkB,EAAE,KAAK;IACzB,QAAQ,EAAE,EAAE;CACb,CAAC;AAEF,gIAAgI;AAChI,SAAS,aAAa,CAAoC,KAAQ;IAChE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,wBAAwB,CAAC,QAA8C;IACrF,MAAM,CAAC,GAAG,QAAQ,IAAI,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,GAAG,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,aAAa,CAAC,EAAE,GAAG,sBAAsB,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACnF,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS;QACzB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,WAAW;QAC/B,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,OAAO;QAC/B,IAAI,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAA4B;QACrE,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE;QAC9B,SAAS,EAAE,CAAC,CAAC,SAAS,IAAI,QAAQ;QAClC,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,KAAK;QACnC,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,KAAK;QACrC,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,KAAK;QACnC,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM;QACN,OAAO;QACP,WAAW,EAAE,CAAC,CAAC,WAAW,IAAI,MAAM;QACpC,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,MAAM;QACpB,YAAY,EAAE,CAAC,CAAC,YAAY,IAAI,SAAS;QACzC,oBAAoB,EAAE,CAAC,CAAC,oBAAoB,IAAI,KAAK;QACrD,kBAAkB,EAAE,CAAC,CAAC,kBAAkB,IAAI,KAAK;QACjD,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,eAAe,CAAC,MAAiC;IAC/D,OAAO,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;AAC/D,CAAC;AAED,oEAAoE;AACpE,MAAM,CAAC,MAAM,WAAW,GAAuD;IAC7E,CAAC,WAAW,EAAE,oBAAoB,CAAC;IACnC,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IAC5B,CAAC,mBAAmB,EAAE,4BAA4B,CAAC;IACnD,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAClC,CAAC,UAAU,EAAE,kBAAkB,CAAC;CACjC,CAAC;AAEF,MAAM,UAAU,QAAQ,CAAC,IAAoC;IAC3D,OAAO,IAAI,EAAE,KAAK,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -43,6 +43,12 @@
|
|
|
43
43
|
import type { QrFlags } from "../contracts/core.js";
|
|
44
44
|
import type { ProgramFeatures, GeneratedProgram } from "../contracts/program.js";
|
|
45
45
|
export declare const GENERATED_PROGRAM_MARKER = "a3d-generated-program";
|
|
46
|
+
/**
|
|
47
|
+
* The encode the HDR chain applies at presentation, for programs that draw to the canvas themselves: r185
|
|
48
|
+
* ACESFilmicToneMapping (exposure 1, as `OutputPass` / the legacy tone pass) followed by the sRGB OETF. The operator body
|
|
49
|
+
* is the one in `output/ToneMappingOperators.glsl.ts`.
|
|
50
|
+
*/
|
|
51
|
+
export declare const OUTPUT_SRGB_CHUNK_GLSL = "vec3 a3dRRTAndODTFit(vec3 v) {\n vec3 a = v * (v + 0.0245786) - 0.000090537;\n vec3 b = v * (0.983729 * v + 0.4329510) + 0.238081;\n return a / b;\n}\nvec3 a3dAcesFilmic(vec3 color) {\n const mat3 ACESInputMat = mat3(\n vec3(0.59719, 0.07600, 0.02840),\n vec3(0.35458, 0.90834, 0.13383),\n vec3(0.04823, 0.01566, 0.83777)\n );\n const mat3 ACESOutputMat = mat3(\n vec3(1.60475, -0.10208, -0.00327),\n vec3(-0.53108, 1.10813, -0.07276),\n vec3(-0.07367, -0.00605, 1.07602)\n );\n color /= 0.6;\n color = ACESInputMat * color;\n color = a3dRRTAndODTFit(color);\n color = ACESOutputMat * color;\n return clamp(color, 0.0, 1.0);\n}\nvec3 a3dEncodeForCanvas(vec3 linear) {\n vec3 c = clamp(a3dAcesFilmic(max(linear, vec3(0.0))), 0.0, 1.0);\n return mix(c * 12.92, 1.055 * pow(c, vec3(1.0 / 2.4)) - 0.055, step(vec3(0.0031308), c));\n}";
|
|
46
52
|
export interface ProgramDegradation {
|
|
47
53
|
readonly code: "extension-lobe-pending" | "program-compile-failed";
|
|
48
54
|
readonly message: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgramGenerator.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/program/ProgramGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAkC,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAiB9G,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAEhE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,GAAG,wBAAwB,CAAC;IACnE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB,EAAE,kBAAkB,EAAO,CAAC;AAE9D,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACpE;AAID,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,gBAAgB,GAAG,IAAI,CAEzG;
|
|
1
|
+
{"version":3,"file":"ProgramGenerator.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/program/ProgramGenerator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAkC,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAiB9G,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAEhE;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,k2BAyBjC,CAAC;AAEH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,wBAAwB,GAAG,wBAAwB,CAAC;IACnE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,2FAA2F;AAC3F,eAAO,MAAM,qBAAqB,EAAE,kBAAkB,EAAO,CAAC;AAE9D,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,WAAW,EAAE,kBAAkB,KAAK,IAAI,CAAC;CACpE;AAID,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,gBAAgB,GAAG,IAAI,CAEzG;AAyoBD,mHAAmH;AACnH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,GAAE,sBAA2B,GAAG,gBAAgB,CAqCrH"}
|
|
@@ -52,10 +52,41 @@ import { SHADOW_FORWARD_CHUNK_GLSL } from "./chunks/shadow_forward.glsl.js";
|
|
|
52
52
|
import { INDIRECT_DEFAULT_CHUNK_GLSL } from "./chunks/indirect_default.glsl.js";
|
|
53
53
|
import { FOG_DEFAULT_CHUNK_GLSL } from "./chunks/fog_default.glsl.js";
|
|
54
54
|
import { DEPTH_CHUNK_GLSL, DISTANCE_CHUNK_PARS_GLSL } from "./chunks/depth.glsl.js";
|
|
55
|
-
import { normalizeProgramFeatures, totalLightCount, MAP_DEFINES } from "./ProgramFeatures.js";
|
|
55
|
+
import { normalizeProgramFeatures, totalLightCount, MAP_DEFINES, PROGRAM_OUTPUT_SRGB_FEATURE } from "./ProgramFeatures.js";
|
|
56
56
|
import { programKey } from "./ProgramKey.js";
|
|
57
57
|
import { PRD02_IBL_FEATURE } from "../contracts/environment.js";
|
|
58
58
|
export const GENERATED_PROGRAM_MARKER = "a3d-generated-program";
|
|
59
|
+
/**
|
|
60
|
+
* The encode the HDR chain applies at presentation, for programs that draw to the canvas themselves: r185
|
|
61
|
+
* ACESFilmicToneMapping (exposure 1, as `OutputPass` / the legacy tone pass) followed by the sRGB OETF. The operator body
|
|
62
|
+
* is the one in `output/ToneMappingOperators.glsl.ts`.
|
|
63
|
+
*/
|
|
64
|
+
export const OUTPUT_SRGB_CHUNK_GLSL = `vec3 a3dRRTAndODTFit(vec3 v) {
|
|
65
|
+
vec3 a = v * (v + 0.0245786) - 0.000090537;
|
|
66
|
+
vec3 b = v * (0.983729 * v + 0.4329510) + 0.238081;
|
|
67
|
+
return a / b;
|
|
68
|
+
}
|
|
69
|
+
vec3 a3dAcesFilmic(vec3 color) {
|
|
70
|
+
const mat3 ACESInputMat = mat3(
|
|
71
|
+
vec3(0.59719, 0.07600, 0.02840),
|
|
72
|
+
vec3(0.35458, 0.90834, 0.13383),
|
|
73
|
+
vec3(0.04823, 0.01566, 0.83777)
|
|
74
|
+
);
|
|
75
|
+
const mat3 ACESOutputMat = mat3(
|
|
76
|
+
vec3(1.60475, -0.10208, -0.00327),
|
|
77
|
+
vec3(-0.53108, 1.10813, -0.07276),
|
|
78
|
+
vec3(-0.07367, -0.00605, 1.07602)
|
|
79
|
+
);
|
|
80
|
+
color /= 0.6;
|
|
81
|
+
color = ACESInputMat * color;
|
|
82
|
+
color = a3dRRTAndODTFit(color);
|
|
83
|
+
color = ACESOutputMat * color;
|
|
84
|
+
return clamp(color, 0.0, 1.0);
|
|
85
|
+
}
|
|
86
|
+
vec3 a3dEncodeForCanvas(vec3 linear) {
|
|
87
|
+
vec3 c = clamp(a3dAcesFilmic(max(linear, vec3(0.0))), 0.0, 1.0);
|
|
88
|
+
return mix(c * 12.92, 1.055 * pow(c, vec3(1.0 / 2.4)) - 0.055, step(vec3(0.0031308), c));
|
|
89
|
+
}`;
|
|
59
90
|
/** Process-local log of generator-recorded degradations (drained by diagnostics/tests). */
|
|
60
91
|
export const programDegradationLog = [];
|
|
61
92
|
/** Lane-11 WGSL emitter hook: registered via `registerProgramWgslEmitter`. */
|
|
@@ -496,6 +527,7 @@ function forwardFragmentSource(f, contributions, defines, marker, state, lobeChu
|
|
|
496
527
|
const fogHooks = hookSplice(contributions, "fragment:fog", state);
|
|
497
528
|
const endHooks = hookSplice(contributions, "fragment:end", state);
|
|
498
529
|
const lit = f.lighting === "lit";
|
|
530
|
+
const outputSrgb = f.features[PROGRAM_OUTPUT_SRGB_FEATURE] === true;
|
|
499
531
|
const withBrdf = lit || state.builtins.has("brdf");
|
|
500
532
|
const body = [];
|
|
501
533
|
body.push("void main() {");
|
|
@@ -600,6 +632,8 @@ function forwardFragmentSource(f, contributions, defines, marker, state, lobeChu
|
|
|
600
632
|
}
|
|
601
633
|
if (endHooks.length > 0)
|
|
602
634
|
body.push(...endHooks.map((s) => indent(s)));
|
|
635
|
+
if (outputSrgb)
|
|
636
|
+
body.push(" a3dColor = a3dEncodeForCanvas(a3dColor);");
|
|
603
637
|
body.push(" outColor = vec4(a3dColor, a3dAlpha);");
|
|
604
638
|
body.push("#ifdef BACKGROUND_COVERAGE\n outCoverage = vec4(1.0, 1.0, 1.0, 1.0);\n#endif");
|
|
605
639
|
body.push("}");
|
|
@@ -617,6 +651,7 @@ function forwardFragmentSource(f, contributions, defines, marker, state, lobeChu
|
|
|
617
651
|
...(lit ? [LIGHTS_LEGACY_CHUNK_GLSL, INDIRECT_DEFAULT_CHUNK_GLSL] : []),
|
|
618
652
|
...(forwardShadowReceive(f) ? [SHADOW_FORWARD_CHUNK_GLSL] : []),
|
|
619
653
|
...(f.fog !== "none" ? [FOG_DEFAULT_CHUNK_GLSL] : []),
|
|
654
|
+
...(outputSrgb ? [OUTPUT_SRGB_CHUNK_GLSL] : []),
|
|
620
655
|
// Lobe pars + feature declarations + every call chunk's requires, in
|
|
621
656
|
// requires-first order (T0-05).
|
|
622
657
|
...state.decls,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgramGenerator.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/program/ProgramGenerator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProgramGenerator.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/program/ProgramGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgramKey.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/program/ProgramKey.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"ProgramKey.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/program/ProgramKey.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAO/E,wBAAgB,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,MAAM,CAErE;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -5,9 +5,12 @@
|
|
|
5
5
|
* order-independent, includes registered feature ids/values).
|
|
6
6
|
*/
|
|
7
7
|
import { computeProgramKey } from "../contracts/program.js";
|
|
8
|
+
import { StructuralMemo } from "../contracts/structuralMemo.js";
|
|
8
9
|
import { normalizeProgramFeatures } from "./ProgramFeatures.js";
|
|
10
|
+
/** The sparse record a caller builds each frame -> its key, so a repeated record skips normalisation as well as serialisation. */
|
|
11
|
+
const sparseKeyMemo = new StructuralMemo(24);
|
|
9
12
|
export function programKey(features) {
|
|
10
|
-
return computeProgramKey(normalizeProgramFeatures(features));
|
|
13
|
+
return sparseKeyMemo.resolve(features, () => computeProgramKey(normalizeProgramFeatures(features)));
|
|
11
14
|
}
|
|
12
15
|
export { computeProgramKey };
|
|
13
16
|
//# sourceMappingURL=ProgramKey.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgramKey.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/program/ProgramKey.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAwB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,MAAM,UAAU,UAAU,CAAC,QAAkC;IAC3D,OAAO,iBAAiB,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"ProgramKey.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/program/ProgramKey.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAwB,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,kIAAkI;AAClI,MAAM,aAAa,GAAG,IAAI,cAAc,CAAS,EAAE,CAAC,CAAC;AAErD,MAAM,UAAU,UAAU,CAAC,QAAkC;IAC3D,OAAO,aAAa,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACtG,CAAC;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -19,5 +19,5 @@
|
|
|
19
19
|
* the receiver along its normal before the lookup; 0 keeps the legacy result.
|
|
20
20
|
*/
|
|
21
21
|
export declare const SHADOW_FORWARD_FACTOR_GLSL = "float a3dForwardShadowFactor(vec3 worldPosition, vec3 normal, vec3 lightDirection) {\n if (u_shadowMapEnabled < 0.5) return 1.0;\n vec4 lightPosition = u_shadowMapMatrix * vec4(worldPosition, 1.0);\n vec3 projected = lightPosition.xyz / max(lightPosition.w, 0.0001);\n vec2 uv = projected.xy * 0.5 + 0.5;\n if (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0) return 1.0;\n vec3 receiverNormal = normalize(normal);\n vec3 receiverLightDirection = lightDirection / max(length(lightDirection), 0.0001);\n float normalDotLight = clamp(abs(dot(receiverNormal, receiverLightDirection)), 0.0, 1.0);\n float slopeTangent = min(sqrt(max(1.0 - normalDotLight * normalDotLight, 0.0)) / max(normalDotLight, 0.05), 8.0);\n float slopeTexelBias = slopeTangent * u_shadowMapSlopeBias * max(u_shadowMapTexelSize.x, u_shadowMapTexelSize.y);\n float projectedDepth = clamp(projected.z * 0.5 + 0.5, 0.0, 1.0);\n float shadowed = 0.0;\n float totalWeight = 0.0;\n int sampleCount = clamp(int(u_shadowPcfSampleCount), 1, 32);\n for (int i = 0; i < 32; ++i) {\n if (i >= sampleCount) break;\n vec4 sampleData = u_shadowPcfSamples[i];\n float weight = max(sampleData.z, 0.0);\n vec2 offset = sampleData.xy * u_shadowMapTexelSize;\n float storedDepth = texture(u_shadowMapTexture, uv + offset).r;\n float sampleTexelDistance = max(1.0, length(sampleData.xy));\n float receiverDepth = projectedDepth - u_shadowMapBias - slopeTexelBias * sampleTexelDistance;\n shadowed += (receiverDepth > storedDepth ? 1.0 : 0.0) * weight;\n totalWeight += weight;\n }\n float occlusion = totalWeight > 0.0 ? shadowed / totalWeight : 0.0;\n return mix(1.0, 1.0 - occlusion, clamp(u_shadowMapStrength, 0.0, 1.0));\n}";
|
|
22
|
-
export declare const SHADOW_FORWARD_CHUNK_GLSL = "\nuniform sampler2D u_shadowMapTexture;\nuniform float u_shadowMapEnabled;\nuniform mat4 u_shadowMapMatrix;\nuniform float u_shadowMapStrength;\nuniform float u_shadowMapBias;\nuniform float u_shadowMapSlopeBias;\nuniform vec2 u_shadowMapTexelSize;\nuniform float u_shadowPcfSampleCount;\nuniform vec4 u_shadowPcfSamples[32];\nuniform float u_shadowMapNormalBias;\n\nfloat a3dForwardShadowFactor(vec3 worldPosition, vec3 normal, vec3 lightDirection) {\n if (u_shadowMapEnabled < 0.5) return 1.0;\n vec4 lightPosition = u_shadowMapMatrix * vec4(worldPosition, 1.0);\n vec3 projected = lightPosition.xyz / max(lightPosition.w, 0.0001);\n vec2 uv = projected.xy * 0.5 + 0.5;\n if (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0) return 1.0;\n vec3 receiverNormal = normalize(normal);\n vec3 receiverLightDirection = lightDirection / max(length(lightDirection), 0.0001);\n float normalDotLight = clamp(abs(dot(receiverNormal, receiverLightDirection)), 0.0, 1.0);\n float slopeTangent = min(sqrt(max(1.0 - normalDotLight * normalDotLight, 0.0)) / max(normalDotLight, 0.05), 8.0);\n float slopeTexelBias = slopeTangent * u_shadowMapSlopeBias * max(u_shadowMapTexelSize.x, u_shadowMapTexelSize.y);\n float projectedDepth = clamp(projected.z * 0.5 + 0.5, 0.0, 1.0);\n float shadowed = 0.0;\n float totalWeight = 0.0;\n int sampleCount = clamp(int(u_shadowPcfSampleCount), 1, 32);\n for (int i = 0; i < 32; ++i) {\n if (i >= sampleCount) break;\n vec4 sampleData = u_shadowPcfSamples[i];\n float weight = max(sampleData.z, 0.0);\n vec2 offset = sampleData.xy * u_shadowMapTexelSize;\n float storedDepth = texture(u_shadowMapTexture, uv + offset).r;\n float sampleTexelDistance = max(1.0, length(sampleData.xy));\n float receiverDepth = projectedDepth - u_shadowMapBias - slopeTexelBias * sampleTexelDistance;\n shadowed += (receiverDepth > storedDepth ? 1.0 : 0.0) * weight;\n totalWeight += weight;\n }\n float occlusion = totalWeight > 0.0 ? shadowed / totalWeight : 0.0;\n return mix(1.0, 1.0 - occlusion, clamp(u_shadowMapStrength, 0.0, 1.0));\n}\n\n// Legacy gate (ShaderLibraryCore light loop): spotShadowLayer.z marks the\n// shadow-casting light; directional (kind 0) and spot (kind 2) sample the\n// forward map, point (kind 1) and rect (> 2.5, packed z = 0) do not.\nfloat a3dForwardLightShadow(float kind, float castsShadow, vec3 worldPosition, vec3 normal, vec3 lightDirection) {\n if (castsShadow < 0.5 || (kind > 0.5 && kind < 1.5) || kind > 2.5) return 1.0;\n vec3 offsetPosition = worldPosition + normalize(normal) * u_shadowMapNormalBias;\n return a3dForwardShadowFactor(offsetPosition, normal, lightDirection);\n}\n";
|
|
22
|
+
export declare const SHADOW_FORWARD_CHUNK_GLSL = "\n\nuniform sampler2D u_contactShadowMask;\nuniform float u_contactShadowMaskStrength;\nuniform vec2 u_contactShadowMaskViewport;\nfloat a3dContactShadowMaskFactor(float kind) {\n if (kind > 0.5 || u_contactShadowMaskStrength < 0.001) return 1.0;\n float mask = texture(u_contactShadowMask, gl_FragCoord.xy / u_contactShadowMaskViewport).r;\n return mix(1.0, mask, clamp(u_contactShadowMaskStrength, 0.0, 1.0));\n}\n\nuniform sampler2D u_shadowMapTexture;\nuniform float u_shadowMapEnabled;\nuniform mat4 u_shadowMapMatrix;\nuniform float u_shadowMapStrength;\nuniform float u_shadowMapBias;\nuniform float u_shadowMapSlopeBias;\nuniform vec2 u_shadowMapTexelSize;\nuniform float u_shadowPcfSampleCount;\nuniform vec4 u_shadowPcfSamples[32];\nuniform float u_shadowMapNormalBias;\n\nfloat a3dForwardShadowFactor(vec3 worldPosition, vec3 normal, vec3 lightDirection) {\n if (u_shadowMapEnabled < 0.5) return 1.0;\n vec4 lightPosition = u_shadowMapMatrix * vec4(worldPosition, 1.0);\n vec3 projected = lightPosition.xyz / max(lightPosition.w, 0.0001);\n vec2 uv = projected.xy * 0.5 + 0.5;\n if (uv.x < 0.0 || uv.x > 1.0 || uv.y < 0.0 || uv.y > 1.0) return 1.0;\n vec3 receiverNormal = normalize(normal);\n vec3 receiverLightDirection = lightDirection / max(length(lightDirection), 0.0001);\n float normalDotLight = clamp(abs(dot(receiverNormal, receiverLightDirection)), 0.0, 1.0);\n float slopeTangent = min(sqrt(max(1.0 - normalDotLight * normalDotLight, 0.0)) / max(normalDotLight, 0.05), 8.0);\n float slopeTexelBias = slopeTangent * u_shadowMapSlopeBias * max(u_shadowMapTexelSize.x, u_shadowMapTexelSize.y);\n float projectedDepth = clamp(projected.z * 0.5 + 0.5, 0.0, 1.0);\n float shadowed = 0.0;\n float totalWeight = 0.0;\n int sampleCount = clamp(int(u_shadowPcfSampleCount), 1, 32);\n for (int i = 0; i < 32; ++i) {\n if (i >= sampleCount) break;\n vec4 sampleData = u_shadowPcfSamples[i];\n float weight = max(sampleData.z, 0.0);\n vec2 offset = sampleData.xy * u_shadowMapTexelSize;\n float storedDepth = texture(u_shadowMapTexture, uv + offset).r;\n float sampleTexelDistance = max(1.0, length(sampleData.xy));\n float receiverDepth = projectedDepth - u_shadowMapBias - slopeTexelBias * sampleTexelDistance;\n shadowed += (receiverDepth > storedDepth ? 1.0 : 0.0) * weight;\n totalWeight += weight;\n }\n float occlusion = totalWeight > 0.0 ? shadowed / totalWeight : 0.0;\n return mix(1.0, 1.0 - occlusion, clamp(u_shadowMapStrength, 0.0, 1.0));\n}\n\n// Legacy gate (ShaderLibraryCore light loop): spotShadowLayer.z marks the\n// shadow-casting light; directional (kind 0) and spot (kind 2) sample the\n// forward map, point (kind 1) and rect (> 2.5, packed z = 0) do not.\nfloat a3dForwardLightShadow(float kind, float castsShadow, vec3 worldPosition, vec3 normal, vec3 lightDirection) {\n if (castsShadow < 0.5 || (kind > 0.5 && kind < 1.5) || kind > 2.5) return 1.0;\n vec3 offsetPosition = worldPosition + normalize(normal) * u_shadowMapNormalBias;\n // WP-4: the contact-shadow mask rides the shadow-casting directional light's visibility only (kind 0).\n return a3dForwardShadowFactor(offsetPosition, normal, lightDirection) * a3dContactShadowMaskFactor(kind);\n}\n";
|
|
23
23
|
//# sourceMappingURL=shadow_forward.glsl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadow_forward.glsl.d.ts","sourceRoot":"","sources":["../../../../../../packages/rendering/src/program/chunks/shadow_forward.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;
|
|
1
|
+
{"version":3,"file":"shadow_forward.glsl.d.ts","sourceRoot":"","sources":["../../../../../../packages/rendering/src/program/chunks/shadow_forward.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,eAAO,MAAM,0BAA0B,ksDA4BrC,CAAC;AAEH,eAAO,MAAM,yBAAyB,4qGAwBrC,CAAC"}
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
* `u_shadowMapNormalBias` (world units, three.js `shadow.normalBias`) offsets
|
|
19
19
|
* the receiver along its normal before the lookup; 0 keeps the legacy result.
|
|
20
20
|
*/
|
|
21
|
+
import { CONTACT_SHADOW_MASK_GLSL } from "../../shaders/chunks/contact_shadow_mask.glsl.js";
|
|
21
22
|
export const SHADOW_FORWARD_FACTOR_GLSL = /* glsl */ `float a3dForwardShadowFactor(vec3 worldPosition, vec3 normal, vec3 lightDirection) {
|
|
22
23
|
if (u_shadowMapEnabled < 0.5) return 1.0;
|
|
23
24
|
vec4 lightPosition = u_shadowMapMatrix * vec4(worldPosition, 1.0);
|
|
@@ -48,6 +49,7 @@ export const SHADOW_FORWARD_FACTOR_GLSL = /* glsl */ `float a3dForwardShadowFact
|
|
|
48
49
|
return mix(1.0, 1.0 - occlusion, clamp(u_shadowMapStrength, 0.0, 1.0));
|
|
49
50
|
}`;
|
|
50
51
|
export const SHADOW_FORWARD_CHUNK_GLSL = /* glsl */ `
|
|
52
|
+
${CONTACT_SHADOW_MASK_GLSL}
|
|
51
53
|
uniform sampler2D u_shadowMapTexture;
|
|
52
54
|
uniform float u_shadowMapEnabled;
|
|
53
55
|
uniform mat4 u_shadowMapMatrix;
|
|
@@ -67,7 +69,8 @@ ${SHADOW_FORWARD_FACTOR_GLSL}
|
|
|
67
69
|
float a3dForwardLightShadow(float kind, float castsShadow, vec3 worldPosition, vec3 normal, vec3 lightDirection) {
|
|
68
70
|
if (castsShadow < 0.5 || (kind > 0.5 && kind < 1.5) || kind > 2.5) return 1.0;
|
|
69
71
|
vec3 offsetPosition = worldPosition + normalize(normal) * u_shadowMapNormalBias;
|
|
70
|
-
|
|
72
|
+
// WP-4: the contact-shadow mask rides the shadow-casting directional light's visibility only (kind 0).
|
|
73
|
+
return a3dForwardShadowFactor(offsetPosition, normal, lightDirection) * a3dContactShadowMaskFactor(kind);
|
|
71
74
|
}
|
|
72
75
|
`;
|
|
73
76
|
//# sourceMappingURL=shadow_forward.glsl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadow_forward.glsl.js","sourceRoot":"","sources":["../../../../../../packages/rendering/src/program/chunks/shadow_forward.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BnD,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAC;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"shadow_forward.glsl.js","sourceRoot":"","sources":["../../../../../../packages/rendering/src/program/chunks/shadow_forward.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAEzF,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BnD,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,UAAU,CAAC;EAClD,wBAAwB;;;;;;;;;;;;EAYxB,0BAA0B;;;;;;;;;;;CAW3B,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Direct render path (beat-three.js PRD, L-P1, contract 3.1).
|
|
3
|
+
*
|
|
4
|
+
* Two ways a frame reaches the canvas:
|
|
5
|
+
*
|
|
6
|
+
* - `hdr-msaa`: the scene renders into a 4x multisampled RGBA16F target and an
|
|
7
|
+
* OutputPass blit tone-maps it onto the canvas (`A3D_QR_CORE_OUTPUT`). Needed
|
|
8
|
+
* whenever the scene authors post-processing, HDR output control or
|
|
9
|
+
* transmission.
|
|
10
|
+
* - `direct`: the scene renders once into the canvas's own 8-bit MSAA
|
|
11
|
+
* framebuffer with the encode done in the forward shader (the same LDR route
|
|
12
|
+
* a post chain declining the v2 seam already takes). One pass, no offscreen
|
|
13
|
+
* multisampled target, no resolve blit.
|
|
14
|
+
*
|
|
15
|
+
* `resolveRenderPath` is a pure decision so it can be unit-tested without a GL
|
|
16
|
+
* context; `withDirectPath` applies it by pinning `A3D_QR_CORE_OUTPUT` off for
|
|
17
|
+
* the renderer's flags. `quality: "production"` never takes the direct path, so
|
|
18
|
+
* it reproduces the previous behaviour exactly.
|
|
19
|
+
*/
|
|
20
|
+
import type { QrFlags } from "../contracts/core.js";
|
|
21
|
+
export type AuraQualityMode = "auto" | "production" | "safe-basic" | "cinematic";
|
|
22
|
+
export type AuraRenderPath = "direct" | "hdr-msaa";
|
|
23
|
+
export interface RenderPathInput {
|
|
24
|
+
/** Requested mode; `undefined` is `"auto"`. */
|
|
25
|
+
readonly quality: AuraQualityMode | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Reasons the scene needs the HDR target (authored post-processing, HDR
|
|
28
|
+
* output options, transmission, custom shaders, ...). Empty = eligible.
|
|
29
|
+
*/
|
|
30
|
+
readonly blockers: readonly string[];
|
|
31
|
+
}
|
|
32
|
+
export interface RenderPathDecision {
|
|
33
|
+
readonly path: AuraRenderPath;
|
|
34
|
+
readonly quality: AuraQualityMode;
|
|
35
|
+
/** Human-readable reason, surfaced as `app.diagnostics().renderPath.reason`. */
|
|
36
|
+
readonly reason: string;
|
|
37
|
+
}
|
|
38
|
+
export declare const QUALITY_MODES: readonly AuraQualityMode[];
|
|
39
|
+
export declare function isQualityMode(value: unknown): value is AuraQualityMode;
|
|
40
|
+
export declare function resolveRenderPath(input: RenderPathInput): RenderPathDecision;
|
|
41
|
+
/** The renderer flags for the direct path: the OutputPass/HDR-target route pinned off. */
|
|
42
|
+
export declare function withDirectPath(flags: QrFlags): QrFlags;
|
|
43
|
+
//# sourceMappingURL=DirectPath.d.ts.map
|
|
@@ -0,0 +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,CAY5E;AAED,0FAA0F;AAC1F,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEtD"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Direct render path (beat-three.js PRD, L-P1, contract 3.1).
|
|
3
|
+
*
|
|
4
|
+
* Two ways a frame reaches the canvas:
|
|
5
|
+
*
|
|
6
|
+
* - `hdr-msaa`: the scene renders into a 4x multisampled RGBA16F target and an
|
|
7
|
+
* OutputPass blit tone-maps it onto the canvas (`A3D_QR_CORE_OUTPUT`). Needed
|
|
8
|
+
* whenever the scene authors post-processing, HDR output control or
|
|
9
|
+
* transmission.
|
|
10
|
+
* - `direct`: the scene renders once into the canvas's own 8-bit MSAA
|
|
11
|
+
* framebuffer with the encode done in the forward shader (the same LDR route
|
|
12
|
+
* a post chain declining the v2 seam already takes). One pass, no offscreen
|
|
13
|
+
* multisampled target, no resolve blit.
|
|
14
|
+
*
|
|
15
|
+
* `resolveRenderPath` is a pure decision so it can be unit-tested without a GL
|
|
16
|
+
* context; `withDirectPath` applies it by pinning `A3D_QR_CORE_OUTPUT` off for
|
|
17
|
+
* the renderer's flags. `quality: "production"` never takes the direct path, so
|
|
18
|
+
* it reproduces the previous behaviour exactly.
|
|
19
|
+
*/
|
|
20
|
+
import { withCoreOutputOff } from "../renderer/coreOutputPostRoute.js";
|
|
21
|
+
export const QUALITY_MODES = ["auto", "production", "safe-basic", "cinematic"];
|
|
22
|
+
export function isQualityMode(value) {
|
|
23
|
+
return typeof value === "string" && QUALITY_MODES.includes(value);
|
|
24
|
+
}
|
|
25
|
+
export function resolveRenderPath(input) {
|
|
26
|
+
const quality = input.quality ?? "auto";
|
|
27
|
+
if (quality === "production" || quality === "cinematic") {
|
|
28
|
+
return { path: "hdr-msaa", quality, reason: `quality "${quality}" always uses the HDR multisampled target` };
|
|
29
|
+
}
|
|
30
|
+
if (quality === "safe-basic") {
|
|
31
|
+
return { path: "direct", quality, reason: 'quality "safe-basic" always uses the direct path' };
|
|
32
|
+
}
|
|
33
|
+
if (input.blockers.length > 0) {
|
|
34
|
+
return { path: "hdr-msaa", quality, reason: `scene needs the HDR target: ${input.blockers.join("; ")}` };
|
|
35
|
+
}
|
|
36
|
+
return { path: "direct", quality, reason: "scene authors no post-processing, HDR output or transmission" };
|
|
37
|
+
}
|
|
38
|
+
/** The renderer flags for the direct path: the OutputPass/HDR-target route pinned off. */
|
|
39
|
+
export function withDirectPath(flags) {
|
|
40
|
+
return withCoreOutputOff(flags);
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=DirectPath.js.map
|
|
@@ -0,0 +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,kDAAkD,EAAE,CAAC;IACjG,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,+BAA+B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;IAC3G,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,8DAA8D,EAAE,CAAC;AAC7G,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -26,11 +26,6 @@ export declare function isPrd02LegacyFallbackEnvironment(lighting: EnvironmentLi
|
|
|
26
26
|
* heuristics under the flag).
|
|
27
27
|
*/
|
|
28
28
|
export declare function resolvePrd02NeutralRoomLighting(legacy: EnvironmentLightingOptions | undefined): EnvironmentLightingOptions;
|
|
29
|
-
/**
|
|
30
|
-
* PRD-02 Phase 3 legacy bridge: when a C-09 probe is bound, the legacy
|
|
31
|
-
* environment-lighting path samples a *linear HDR* mipped equirect — no
|
|
32
|
-
* Reinhard, no RGBA8 (E5 fix). The legacy procedural map is dropped.
|
|
33
|
-
*/
|
|
34
29
|
export declare function resolvePrd02EnvironmentLighting(source: RenderSource): EnvironmentLightingOptions | undefined;
|
|
35
30
|
export declare function collectEnvironmentFog(source: RenderSource | Iterable<RenderItem> | Scene): ForwardEnvironmentFogOptions | false | undefined;
|
|
36
31
|
/**
|
|
@@ -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;AA8BtC,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;
|
|
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;AA8BtC,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;AAmBD,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,YAAY,GAAG,0BAA0B,GAAG,SAAS,CA6D5G;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"}
|
|
@@ -144,6 +144,8 @@ const prd02ProbeEquirects = new WeakMap();
|
|
|
144
144
|
* environment-lighting path samples a *linear HDR* mipped equirect — no
|
|
145
145
|
* Reinhard, no RGBA8 (E5 fix). The legacy procedural map is dropped.
|
|
146
146
|
*/
|
|
147
|
+
/** Last result per probe: the lighting object only changes when the probe, its intensities or its ambient term do. */
|
|
148
|
+
const prd02LightingMemo = new WeakMap();
|
|
147
149
|
export function resolvePrd02EnvironmentLighting(source) {
|
|
148
150
|
const probe = source.environmentProbe;
|
|
149
151
|
if (!probe)
|
|
@@ -157,7 +159,20 @@ export function resolvePrd02EnvironmentLighting(source) {
|
|
|
157
159
|
const diffuse = meta.environmentProbeDiffuseIntensity ?? 1;
|
|
158
160
|
const specular = meta.environmentProbeSpecularIntensity ?? 1;
|
|
159
161
|
const ambient = meta.environmentProbeAmbient ?? null;
|
|
160
|
-
|
|
162
|
+
const withProbe = rendererQrFlags().on("A3D_QR_COMPILER") && rendererQrFlags().on("A3D_QR_LIGHTING");
|
|
163
|
+
const memo = prd02LightingMemo.get(probe);
|
|
164
|
+
if (memo
|
|
165
|
+
&& memo.diffuse === diffuse
|
|
166
|
+
&& memo.specular === specular
|
|
167
|
+
&& memo.withProbe === withProbe
|
|
168
|
+
&& (memo.ambient === null
|
|
169
|
+
? ambient === null
|
|
170
|
+
: ambient !== null
|
|
171
|
+
&& memo.ambient[0] === ambient.color[0] && memo.ambient[1] === ambient.color[1] && memo.ambient[2] === ambient.color[2]
|
|
172
|
+
&& memo.ambient[3] === ambient.intensity)) {
|
|
173
|
+
return { ...memo.result };
|
|
174
|
+
}
|
|
175
|
+
const result = {
|
|
161
176
|
color: ambient?.color ?? [1, 1, 1],
|
|
162
177
|
intensity: ambient?.intensity ?? 0,
|
|
163
178
|
environmentMapTexture: new TextureBinding({
|
|
@@ -181,10 +196,18 @@ export function resolvePrd02EnvironmentLighting(source) {
|
|
|
181
196
|
// E3 stage-2b: carry the probe itself (cube + SH9) to ForwardPass for
|
|
182
197
|
// the PRD-02 IBL pack. Attached only under the conjunction so the
|
|
183
198
|
// LIGHTING-only lighting object stays byte-identical.
|
|
184
|
-
...(
|
|
199
|
+
...(withProbe
|
|
185
200
|
? { environmentProbe: probe }
|
|
186
201
|
: {})
|
|
187
202
|
};
|
|
203
|
+
prd02LightingMemo.set(probe, {
|
|
204
|
+
diffuse,
|
|
205
|
+
specular,
|
|
206
|
+
withProbe,
|
|
207
|
+
ambient: ambient ? [ambient.color[0], ambient.color[1], ambient.color[2], ambient.intensity] : null,
|
|
208
|
+
result
|
|
209
|
+
});
|
|
210
|
+
return { ...result };
|
|
188
211
|
}
|
|
189
212
|
export function collectEnvironmentFog(source) {
|
|
190
213
|
if (source instanceof Scene || isIterable(source))
|
|
@@ -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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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-instance frustum culling for large instanced draws (forward pass, main camera only).
|
|
3
|
+
*
|
|
4
|
+
* A 10,000-instance forest submits every instance to the GPU even though a third of them are behind or beside the camera; on a software
|
|
5
|
+
* rasteriser the vertex stage alone for those instances dominates the frame. This compacts the instance matrices (and colours) to the ones
|
|
6
|
+
* whose bounding sphere intersects the view frustum, in draw order, so the draw is pixel-identical and cheaper. It is conservative: the
|
|
7
|
+
* sphere is inflated, and anything it cannot reason about (non-finite matrices, tiny draws) is left to the caller's normal path.
|
|
8
|
+
*
|
|
9
|
+
* The scan itself is allocation-free (module scratch for the keep list); only the compacted output arrays are allocated, and only when
|
|
10
|
+
* something was culled.
|
|
11
|
+
*/
|
|
12
|
+
/** Below this many instances the GPU handles the draw trivially and the scan would cost more than it saves. */
|
|
13
|
+
export declare const MIN_CULLED_INSTANCES = 512;
|
|
14
|
+
export interface InstanceFrustumCullInput {
|
|
15
|
+
/** Column-major view-projection of the camera that rasterises this draw (GL clip space, -w..w). */
|
|
16
|
+
readonly viewProjection: ArrayLike<number>;
|
|
17
|
+
/** The item's model matrix (column-major), or undefined for identity. */
|
|
18
|
+
readonly modelMatrix?: ArrayLike<number> | undefined;
|
|
19
|
+
/** Local-space AABB of the instanced geometry. */
|
|
20
|
+
readonly bounds: {
|
|
21
|
+
readonly min: ArrayLike<number>;
|
|
22
|
+
readonly max: ArrayLike<number>;
|
|
23
|
+
};
|
|
24
|
+
readonly transforms: Float32Array;
|
|
25
|
+
/** Optional per-instance RGBA (4 floats each), compacted alongside. */
|
|
26
|
+
readonly colors?: Float32Array | undefined;
|
|
27
|
+
}
|
|
28
|
+
export interface InstanceFrustumCullResult {
|
|
29
|
+
readonly transforms: Float32Array;
|
|
30
|
+
readonly colors?: Float32Array;
|
|
31
|
+
readonly count: number;
|
|
32
|
+
readonly total: number;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Returns the visible subset, or null when nothing was culled (or culling does not apply), in which case the caller keeps its originals.
|
|
36
|
+
* A result with `count === 0` means every instance is outside the frustum.
|
|
37
|
+
*/
|
|
38
|
+
export declare function cullInstancesToFrustum(input: InstanceFrustumCullInput): InstanceFrustumCullResult | null;
|
|
39
|
+
//# sourceMappingURL=InstanceFrustumCull.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InstanceFrustumCull.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/renderer/InstanceFrustumCull.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;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;AAkCD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,wBAAwB,GAAG,yBAAyB,GAAG,IAAI,CAgExG"}
|