@aura3d/engine 4.6.1 → 4.7.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/assets/asset-corpus/ProductionGLTFRenderPipeline.d.ts +12 -0
- package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.d.ts.map +1 -1
- package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.js +26 -1
- package/dist/assets/asset-corpus/ProductionGLTFRenderPipeline.js.map +1 -1
- package/dist/assets/vfx/LICENSE.md +1 -0
- package/dist/assets/vfx/aura-vfx-1k.png +0 -0
- package/dist/assets/vfx/aura-vfx-2k.png +0 -0
- package/dist/aura3d-cli/admission/cubeLut.d.ts +18 -0
- package/dist/aura3d-cli/admission/cubeLut.d.ts.map +1 -0
- package/dist/aura3d-cli/admission/cubeLut.js +53 -0
- package/dist/aura3d-cli/admission/cubeLut.js.map +1 -0
- package/dist/aura3d-cli/asset-core-types.d.ts +7 -4
- package/dist/aura3d-cli/asset-core-types.d.ts.map +1 -1
- package/dist/aura3d-cli/cli-help.d.ts.map +1 -1
- package/dist/aura3d-cli/cli-help.js +7 -4
- package/dist/aura3d-cli/cli-help.js.map +1 -1
- package/dist/aura3d-cli/cli-options.d.ts +1 -1
- package/dist/aura3d-cli/cli-options.d.ts.map +1 -1
- package/dist/aura3d-cli/cli-options.js +2 -2
- package/dist/aura3d-cli/cli-options.js.map +1 -1
- package/dist/aura3d-cli/cli.js +3 -2
- package/dist/aura3d-cli/cli.js.map +1 -1
- package/dist/aura3d-cli/commands/assets/certifyCategories.d.ts +26 -0
- package/dist/aura3d-cli/commands/assets/certifyCategories.d.ts.map +1 -0
- package/dist/aura3d-cli/commands/assets/certifyCategories.js +31 -0
- package/dist/aura3d-cli/commands/assets/certifyCategories.js.map +1 -0
- package/dist/aura3d-cli/commands/assets/optimize.d.ts +66 -0
- package/dist/aura3d-cli/commands/assets/optimize.d.ts.map +1 -1
- package/dist/aura3d-cli/commands/assets/optimize.js +270 -1
- package/dist/aura3d-cli/commands/assets/optimize.js.map +1 -1
- package/dist/aura3d-cli/commands/assets/optimizeVerb.d.ts.map +1 -1
- package/dist/aura3d-cli/commands/assets/optimizeVerb.js +26 -1
- package/dist/aura3d-cli/commands/assets/optimizeVerb.js.map +1 -1
- package/dist/aura3d-cli/commands/evidence/judge.d.ts +50 -1
- package/dist/aura3d-cli/commands/evidence/judge.d.ts.map +1 -1
- package/dist/aura3d-cli/commands/evidence/judge.js +154 -6
- package/dist/aura3d-cli/commands/evidence/judge.js.map +1 -1
- package/dist/aura3d-cli/commands/prd05/index.js +1 -1
- package/dist/aura3d-cli/commands/prd05/index.js.map +1 -1
- package/dist/aura3d-cli/index.d.ts.map +1 -1
- package/dist/aura3d-cli/index.js +25 -9
- package/dist/aura3d-cli/index.js.map +1 -1
- package/dist/aura3d-cli/look/judge.d.ts +53 -5
- package/dist/aura3d-cli/look/judge.d.ts.map +1 -1
- package/dist/aura3d-cli/look/judge.js +226 -50
- package/dist/aura3d-cli/look/judge.js.map +1 -1
- package/dist/create-aura3d/index.js +1 -1
- package/dist/engine/agent-api/RootRuntimeSupport.d.ts +7 -0
- package/dist/engine/agent-api/RootRuntimeSupport.d.ts.map +1 -1
- package/dist/engine/agent-api/RootRuntimeSupport.js +7 -0
- package/dist/engine/agent-api/RootRuntimeSupport.js.map +1 -1
- package/dist/engine/agent-api/app/actorAnimationHandle.d.ts +2 -0
- package/dist/engine/agent-api/app/actorAnimationHandle.d.ts.map +1 -1
- package/dist/engine/agent-api/app/actorAnimationHandle.js +149 -2
- package/dist/engine/agent-api/app/actorAnimationHandle.js.map +1 -1
- package/dist/engine/agent-api/app/createAuraApp.d.ts.map +1 -1
- package/dist/engine/agent-api/app/createAuraApp.js +13 -1
- package/dist/engine/agent-api/app/createAuraApp.js.map +1 -1
- package/dist/engine/agent-api/app/frameLoop.d.ts.map +1 -1
- package/dist/engine/agent-api/app/frameLoop.js +4 -2
- package/dist/engine/agent-api/app/frameLoop.js.map +1 -1
- package/dist/engine/agent-api/camera/layers/cinematicBars.d.ts +2 -0
- package/dist/engine/agent-api/camera/layers/cinematicBars.d.ts.map +1 -1
- package/dist/engine/agent-api/camera/layers/cinematicBars.js +4 -0
- package/dist/engine/agent-api/camera/layers/cinematicBars.js.map +1 -1
- package/dist/engine/agent-api/compiler/compileScene.d.ts +11 -1
- package/dist/engine/agent-api/compiler/compileScene.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/compileScene.js +27 -1
- package/dist/engine/agent-api/compiler/compileScene.js.map +1 -1
- package/dist/engine/agent-api/compiler/customMaterial.d.ts +16 -5
- package/dist/engine/agent-api/compiler/customMaterial.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/customMaterial.js +149 -20
- package/dist/engine/agent-api/compiler/customMaterial.js.map +1 -1
- package/dist/engine/agent-api/compiler/environment.d.ts +57 -1
- package/dist/engine/agent-api/compiler/environment.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/environment.js +170 -5
- package/dist/engine/agent-api/compiler/environment.js.map +1 -1
- package/dist/engine/agent-api/compiler/fog.js +1 -1
- package/dist/engine/agent-api/compiler/fog.js.map +1 -1
- package/dist/engine/agent-api/compiler/lights.d.ts +92 -0
- package/dist/engine/agent-api/compiler/lights.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/lights.js +358 -1
- package/dist/engine/agent-api/compiler/lights.js.map +1 -1
- package/dist/engine/agent-api/compiler/observations.d.ts +34 -0
- package/dist/engine/agent-api/compiler/observations.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/observations.js +77 -5
- package/dist/engine/agent-api/compiler/observations.js.map +1 -1
- package/dist/engine/agent-api/compiler/postprocess.d.ts +10 -0
- package/dist/engine/agent-api/compiler/postprocess.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/postprocess.js +28 -7
- package/dist/engine/agent-api/compiler/postprocess.js.map +1 -1
- package/dist/engine/agent-api/compiler/renderInput.d.ts +2 -0
- package/dist/engine/agent-api/compiler/renderInput.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/renderInput.js +15 -2
- package/dist/engine/agent-api/compiler/renderInput.js.map +1 -1
- package/dist/engine/agent-api/compiler/renderer.d.ts +6 -0
- package/dist/engine/agent-api/compiler/renderer.d.ts.map +1 -1
- package/dist/engine/agent-api/compiler/renderer.js +14 -3
- package/dist/engine/agent-api/compiler/renderer.js.map +1 -1
- package/dist/engine/agent-api/diagnostics.d.ts +16 -0
- package/dist/engine/agent-api/diagnostics.d.ts.map +1 -1
- package/dist/engine/agent-api/diagnostics.js +45 -2
- package/dist/engine/agent-api/diagnostics.js.map +1 -1
- package/dist/engine/agent-api/index.d.ts +2 -0
- package/dist/engine/agent-api/index.d.ts.map +1 -1
- package/dist/engine/agent-api/index.js +3 -0
- package/dist/engine/agent-api/index.js.map +1 -1
- package/dist/engine/agent-api/looks/lookPresets.d.ts +2 -0
- package/dist/engine/agent-api/looks/lookPresets.d.ts.map +1 -1
- package/dist/engine/agent-api/looks/lookPresets.js.map +1 -1
- package/dist/engine/agent-api/looks/looks.d.ts +12 -2
- package/dist/engine/agent-api/looks/looks.d.ts.map +1 -1
- package/dist/engine/agent-api/looks/looks.js +365 -65
- package/dist/engine/agent-api/looks/looks.js.map +1 -1
- package/dist/engine/agent-api/nodes/builder.d.ts +8 -0
- package/dist/engine/agent-api/nodes/builder.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/builder.js +15 -0
- package/dist/engine/agent-api/nodes/builder.js.map +1 -1
- package/dist/engine/agent-api/nodes/effects.composite.d.ts +13 -9
- package/dist/engine/agent-api/nodes/effects.composite.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/effects.d.ts +65 -14
- package/dist/engine/agent-api/nodes/effects.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/effects.js +49 -16
- package/dist/engine/agent-api/nodes/effects.js.map +1 -1
- package/dist/engine/agent-api/nodes/effects.post.d.ts +62 -5
- package/dist/engine/agent-api/nodes/effects.post.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/effects.post.js +30 -17
- package/dist/engine/agent-api/nodes/effects.post.js.map +1 -1
- package/dist/engine/agent-api/nodes/effects.toon.d.ts +65 -1
- package/dist/engine/agent-api/nodes/effects.toon.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/effects.toon.js +186 -23
- package/dist/engine/agent-api/nodes/effects.toon.js.map +1 -1
- package/dist/engine/agent-api/nodes/groups.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/groups.js +2 -2
- package/dist/engine/agent-api/nodes/groups.js.map +1 -1
- package/dist/engine/agent-api/nodes/instances.d.ts +130 -90
- package/dist/engine/agent-api/nodes/instances.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/instances.js +192 -48
- package/dist/engine/agent-api/nodes/instances.js.map +1 -1
- package/dist/engine/agent-api/nodes/material.d.ts +8 -1
- package/dist/engine/agent-api/nodes/material.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/material.js +82 -0
- package/dist/engine/agent-api/nodes/material.js.map +1 -1
- package/dist/engine/agent-api/nodes/outlineTargets.d.ts +16 -0
- package/dist/engine/agent-api/nodes/outlineTargets.d.ts.map +1 -0
- package/dist/engine/agent-api/nodes/outlineTargets.js +46 -0
- package/dist/engine/agent-api/nodes/outlineTargets.js.map +1 -0
- package/dist/engine/agent-api/nodes/scene.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/scene.js +2 -2
- package/dist/engine/agent-api/nodes/scene.js.map +1 -1
- package/dist/engine/agent-api/nodes/sky.d.ts +23 -6
- package/dist/engine/agent-api/nodes/sky.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/sky.js +2 -0
- package/dist/engine/agent-api/nodes/sky.js.map +1 -1
- package/dist/engine/agent-api/nodes/types/runtime.d.ts +28 -1
- package/dist/engine/agent-api/nodes/types/runtime.d.ts.map +1 -1
- package/dist/engine/agent-api/nodes/types.d.ts +71 -3
- package/dist/engine/agent-api/nodes/types.d.ts.map +1 -1
- package/dist/engine/agent-api/performanceEvidence.js +7 -2
- package/dist/engine/agent-api/performanceEvidence.js.map +1 -1
- package/dist/engine/agent-api/postBridge.d.ts +75 -3
- package/dist/engine/agent-api/postBridge.d.ts.map +1 -1
- package/dist/engine/agent-api/postBridge.js +436 -33
- package/dist/engine/agent-api/postBridge.js.map +1 -1
- package/dist/engine/agent-api/postPresets.d.ts +8 -4
- package/dist/engine/agent-api/postPresets.d.ts.map +1 -1
- package/dist/engine/agent-api/postPresets.js +12 -11
- package/dist/engine/agent-api/postPresets.js.map +1 -1
- package/dist/engine/agent-api/publishedUnion.d.ts +7 -4
- package/dist/engine/agent-api/publishedUnion.d.ts.map +1 -1
- package/dist/engine/agent-api/publishedUnion.js +1 -1
- package/dist/engine/agent-api/publishedUnion.js.map +1 -1
- package/dist/engine/agent-api/rendererDiagnostics.js +4 -6
- package/dist/engine/agent-api/rendererDiagnostics.js.map +1 -1
- package/dist/engine/agent-api/vfx/atmosphere-api.d.ts +2 -4
- package/dist/engine/agent-api/vfx/atmosphere-api.d.ts.map +1 -1
- package/dist/engine/agent-api/vfx/atmosphere-api.js +2 -1
- package/dist/engine/agent-api/vfx/atmosphere-api.js.map +1 -1
- package/dist/engine/agent-api/vfx/effects-api.d.ts +3 -0
- package/dist/engine/agent-api/vfx/effects-api.d.ts.map +1 -1
- package/dist/engine/agent-api/vfx/effects-api.js +337 -74
- package/dist/engine/agent-api/vfx/effects-api.js.map +1 -1
- package/dist/engine/agent-api/world/flags.d.ts +33 -3
- package/dist/engine/agent-api/world/flags.d.ts.map +1 -1
- package/dist/engine/agent-api/world/flags.js +44 -12
- package/dist/engine/agent-api/world/flags.js.map +1 -1
- package/dist/engine/agent-api/world/index.d.ts +10 -1
- package/dist/engine/agent-api/world/index.d.ts.map +1 -1
- package/dist/engine/agent-api/world/index.js +11 -2
- package/dist/engine/agent-api/world/index.js.map +1 -1
- package/dist/engine/agent-api/world/scatter.d.ts +50 -3
- package/dist/engine/agent-api/world/scatter.d.ts.map +1 -1
- package/dist/engine/agent-api/world/scatter.js +93 -7
- package/dist/engine/agent-api/world/scatter.js.map +1 -1
- package/dist/engine/agent-api/world/terrain.d.ts +8 -0
- package/dist/engine/agent-api/world/terrain.d.ts.map +1 -1
- package/dist/engine/agent-api/world/terrain.js +6 -1
- package/dist/engine/agent-api/world/terrain.js.map +1 -1
- package/dist/engine/contracts/animation.d.ts +30 -12
- package/dist/engine/contracts/animation.d.ts.map +1 -1
- package/dist/engine/contracts/animation.js +2 -0
- package/dist/engine/contracts/animation.js.map +1 -1
- package/dist/engine/contracts/art.d.ts +1 -1
- package/dist/engine/contracts/art.d.ts.map +1 -1
- package/dist/engine/contracts/atmosphere.d.ts +43 -9
- package/dist/engine/contracts/atmosphere.d.ts.map +1 -1
- package/dist/engine/contracts/atmosphere.js.map +1 -1
- package/dist/engine/contracts/camera.d.ts +8 -2
- package/dist/engine/contracts/camera.d.ts.map +1 -1
- package/dist/engine/contracts/camera.js +14 -3
- package/dist/engine/contracts/camera.js.map +1 -1
- package/dist/engine/contracts/effects.d.ts +83 -37
- package/dist/engine/contracts/effects.d.ts.map +1 -1
- package/dist/engine/contracts/effects.js +2 -1
- package/dist/engine/contracts/effects.js.map +1 -1
- package/dist/engine/contracts/flags.d.ts.map +1 -1
- package/dist/engine/contracts/flags.js +29 -4
- package/dist/engine/contracts/flags.js.map +1 -1
- package/dist/engine/contracts/lighting.d.ts +33 -1
- package/dist/engine/contracts/lighting.d.ts.map +1 -1
- package/dist/engine/contracts/lighting.js +13 -1
- package/dist/engine/contracts/lighting.js.map +1 -1
- package/dist/engine/contracts/looks.d.ts +57 -1
- package/dist/engine/contracts/looks.d.ts.map +1 -1
- package/dist/engine/contracts/looks.js.map +1 -1
- package/dist/engine/contracts/materials.d.ts +25 -0
- package/dist/engine/contracts/materials.d.ts.map +1 -1
- package/dist/engine/contracts/materials.js +4 -1
- package/dist/engine/contracts/materials.js.map +1 -1
- package/dist/engine/contracts/post.d.ts +14 -0
- package/dist/engine/contracts/post.d.ts.map +1 -1
- package/dist/engine/contracts/post.js +2 -0
- package/dist/engine/contracts/post.js.map +1 -1
- package/dist/engine/instances-model/CrowdKit.d.ts +231 -0
- package/dist/engine/instances-model/CrowdKit.d.ts.map +1 -0
- package/dist/engine/instances-model/CrowdKit.js +496 -0
- package/dist/engine/instances-model/CrowdKit.js.map +1 -0
- package/dist/engine/lanes/prd02.d.ts +36 -2
- package/dist/engine/lanes/prd02.d.ts.map +1 -1
- package/dist/engine/lanes/prd02.js +120 -7
- package/dist/engine/lanes/prd02.js.map +1 -1
- package/dist/engine/lanes/prd03.d.ts.map +1 -1
- package/dist/engine/lanes/prd03.js +9 -1
- package/dist/engine/lanes/prd03.js.map +1 -1
- package/dist/engine/lanes/prd07.d.ts.map +1 -1
- package/dist/engine/lanes/prd07.js +12 -7
- package/dist/engine/lanes/prd07.js.map +1 -1
- package/dist/engine/production-runtime/GlbResourceCache.d.ts +140 -0
- package/dist/engine/production-runtime/GlbResourceCache.d.ts.map +1 -0
- package/dist/engine/production-runtime/GlbResourceCache.js +237 -0
- package/dist/engine/production-runtime/GlbResourceCache.js.map +1 -0
- package/dist/engine/production-runtime/ModelMaterialOverrides.d.ts +53 -2
- package/dist/engine/production-runtime/ModelMaterialOverrides.d.ts.map +1 -1
- package/dist/engine/production-runtime/ModelMaterialOverrides.js +142 -1
- package/dist/engine/production-runtime/ModelMaterialOverrides.js.map +1 -1
- package/dist/engine/production-runtime/TypedGLBActor.d.ts +55 -0
- package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
- package/dist/engine/production-runtime/TypedGLBActor.js +205 -3
- package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
- package/dist/engine/production-runtime/actor/ModelTextureShare.d.ts.map +1 -1
- package/dist/engine/production-runtime/actor/ModelTextureShare.js +5 -2
- package/dist/engine/production-runtime/actor/ModelTextureShare.js.map +1 -1
- package/dist/engine/production-runtime/actor/TypedGLBActorMaterials.d.ts.map +1 -1
- package/dist/engine/production-runtime/actor/TypedGLBActorMaterials.js +10 -1
- package/dist/engine/production-runtime/actor/TypedGLBActorMaterials.js.map +1 -1
- package/dist/engine/production-runtime/effects/EffectNodeLowering.d.ts +55 -0
- package/dist/engine/production-runtime/effects/EffectNodeLowering.d.ts.map +1 -1
- package/dist/engine/production-runtime/effects/EffectNodeLowering.js +71 -7
- package/dist/engine/production-runtime/effects/EffectNodeLowering.js.map +1 -1
- package/dist/engine/production-runtime/effects/FlipbookAtlas.d.ts +85 -0
- package/dist/engine/production-runtime/effects/FlipbookAtlas.d.ts.map +1 -1
- package/dist/engine/production-runtime/effects/FlipbookAtlas.js +164 -0
- package/dist/engine/production-runtime/effects/FlipbookAtlas.js.map +1 -1
- package/dist/engine/production-runtime/effects/LiveAtmosphere.d.ts +37 -6
- package/dist/engine/production-runtime/effects/LiveAtmosphere.d.ts.map +1 -1
- package/dist/engine/production-runtime/effects/LiveAtmosphere.js +93 -10
- package/dist/engine/production-runtime/effects/LiveAtmosphere.js.map +1 -1
- package/dist/engine/production-runtime/effects/ProductionEffectSystem.d.ts +71 -1
- package/dist/engine/production-runtime/effects/ProductionEffectSystem.d.ts.map +1 -1
- package/dist/engine/production-runtime/effects/ProductionEffectSystem.js +356 -6
- package/dist/engine/production-runtime/effects/ProductionEffectSystem.js.map +1 -1
- package/dist/engine/production-runtime/world/WaterRuntime.d.ts +9 -0
- package/dist/engine/production-runtime/world/WaterRuntime.d.ts.map +1 -1
- package/dist/engine/production-runtime/world/WaterRuntime.js +27 -11
- package/dist/engine/production-runtime/world/WaterRuntime.js.map +1 -1
- package/dist/engine/production-runtime/world/WorldFramePasses.d.ts +11 -1
- package/dist/engine/production-runtime/world/WorldFramePasses.d.ts.map +1 -1
- package/dist/engine/production-runtime/world/WorldFramePasses.js +37 -1
- package/dist/engine/production-runtime/world/WorldFramePasses.js.map +1 -1
- package/dist/engine/public/index.d.ts +22 -0
- package/dist/engine/public/index.d.ts.map +1 -1
- package/dist/engine/public/index.js +14 -0
- package/dist/engine/public/index.js.map +1 -1
- package/dist/game/art/define.d.ts +1 -1
- package/dist/game/art/define.d.ts.map +1 -1
- package/dist/game/art/define.js +1 -1
- package/dist/game/art/define.js.map +1 -1
- package/dist/game/fonts/register.d.ts +16 -1
- package/dist/game/fonts/register.d.ts.map +1 -1
- package/dist/game/fonts/register.js +18 -7
- package/dist/game/fonts/register.js.map +1 -1
- package/dist/game/hud/themes.d.ts +33 -8
- package/dist/game/hud/themes.d.ts.map +1 -1
- package/dist/game/hud/themes.js +125 -22
- package/dist/game/hud/themes.js.map +1 -1
- package/dist/game/index.d.ts +4 -2
- package/dist/game/index.d.ts.map +1 -1
- package/dist/game/index.js +2 -1
- package/dist/game/index.js.map +1 -1
- package/dist/game/juice/audioReactive.d.ts +42 -0
- package/dist/game/juice/audioReactive.d.ts.map +1 -0
- package/dist/game/juice/audioReactive.js +68 -0
- package/dist/game/juice/audioReactive.js.map +1 -0
- package/dist/game/styles/themes/arcade-neon.css +2 -1
- package/dist/game/styles/themes/fighting.css +2 -1
- package/dist/game/styles/themes/ink-scroll.css +15 -0
- package/dist/game/styles/themes/motorsport.css +2 -1
- package/dist/game/styles/themes/plain.css +2 -1
- package/dist/game/styles/themes/sci-fi-telemetry.css +2 -1
- package/dist/game/styles/themes/sky-expedition.css +15 -0
- package/dist/game/styles/themes/sports-broadcast.css +2 -1
- package/dist/game/styles/themes/storybook.css +15 -0
- package/dist/game/styles/themes/tabletop.css +2 -1
- package/dist/game/styles.css +3 -1
- package/dist/rendering/ClusteredForwardLighting.d.ts.map +1 -1
- package/dist/rendering/ClusteredForwardLighting.js +3 -1
- package/dist/rendering/ClusteredForwardLighting.js.map +1 -1
- package/dist/rendering/DepthPass.d.ts +25 -0
- package/dist/rendering/DepthPass.d.ts.map +1 -1
- package/dist/rendering/DepthPass.js +149 -1
- package/dist/rendering/DepthPass.js.map +1 -1
- package/dist/rendering/ForwardPass.d.ts +84 -0
- package/dist/rendering/ForwardPass.d.ts.map +1 -1
- package/dist/rendering/ForwardPass.js +236 -12
- package/dist/rendering/ForwardPass.js.map +1 -1
- package/dist/rendering/LightUniforms.d.ts +12 -0
- package/dist/rendering/LightUniforms.d.ts.map +1 -1
- package/dist/rendering/LightUniforms.js +9 -1
- package/dist/rendering/LightUniforms.js.map +1 -1
- package/dist/rendering/atmosphere/CloudLayer.d.ts +15 -0
- package/dist/rendering/atmosphere/CloudLayer.d.ts.map +1 -1
- package/dist/rendering/atmosphere/CloudLayer.js +27 -5
- package/dist/rendering/atmosphere/CloudLayer.js.map +1 -1
- package/dist/rendering/atmosphere/GradientSky.d.ts +3 -3
- package/dist/rendering/atmosphere/GradientSky.d.ts.map +1 -1
- package/dist/rendering/atmosphere/GradientSky.js +20 -9
- package/dist/rendering/atmosphere/GradientSky.js.map +1 -1
- package/dist/rendering/atmosphere/HeightFog.d.ts.map +1 -1
- package/dist/rendering/atmosphere/HeightFog.js +9 -0
- package/dist/rendering/atmosphere/HeightFog.js.map +1 -1
- package/dist/rendering/atmosphere/SkyBackgroundPass.d.ts +11 -0
- package/dist/rendering/atmosphere/SkyBackgroundPass.d.ts.map +1 -1
- package/dist/rendering/atmosphere/SkyBackgroundPass.js +40 -7
- package/dist/rendering/atmosphere/SkyBackgroundPass.js.map +1 -1
- package/dist/rendering/atmosphere/StarField.d.ts +21 -0
- package/dist/rendering/atmosphere/StarField.d.ts.map +1 -1
- package/dist/rendering/atmosphere/StarField.js +24 -1
- package/dist/rendering/atmosphere/StarField.js.map +1 -1
- package/dist/rendering/atmosphere/sky.glsl.d.ts.map +1 -1
- package/dist/rendering/atmosphere/sky.glsl.js +8 -0
- package/dist/rendering/atmosphere/sky.glsl.js.map +1 -1
- package/dist/rendering/contracts/flags.state.d.ts.map +1 -1
- package/dist/rendering/contracts/flags.state.js +19 -0
- package/dist/rendering/contracts/flags.state.js.map +1 -1
- package/dist/rendering/forward/Lighting.d.ts +7 -1
- package/dist/rendering/forward/Lighting.d.ts.map +1 -1
- package/dist/rendering/forward/Lighting.js +24 -1
- package/dist/rendering/forward/Lighting.js.map +1 -1
- package/dist/rendering/forward/Velocity.d.ts +8 -0
- package/dist/rendering/forward/Velocity.d.ts.map +1 -1
- package/dist/rendering/forward/Velocity.js +10 -0
- package/dist/rendering/forward/Velocity.js.map +1 -1
- package/dist/rendering/lanes/prd03.d.ts +1 -1
- package/dist/rendering/lanes/prd03.d.ts.map +1 -1
- package/dist/rendering/lanes/prd03.js +6 -1
- package/dist/rendering/lanes/prd03.js.map +1 -1
- package/dist/rendering/lanes/prd07.d.ts.map +1 -1
- package/dist/rendering/lanes/prd07.js +5 -2
- package/dist/rendering/lanes/prd07.js.map +1 -1
- package/dist/rendering/post/DisplayLutCache.d.ts +10 -2
- package/dist/rendering/post/DisplayLutCache.d.ts.map +1 -1
- package/dist/rendering/post/DisplayLutCache.js +15 -3
- package/dist/rendering/post/DisplayLutCache.js.map +1 -1
- package/dist/rendering/post/PostGraph.d.ts +23 -0
- package/dist/rendering/post/PostGraph.d.ts.map +1 -1
- package/dist/rendering/post/PostGraph.js.map +1 -1
- package/dist/rendering/post/PostQualityTiers.d.ts +36 -0
- package/dist/rendering/post/PostQualityTiers.d.ts.map +1 -1
- package/dist/rendering/post/PostQualityTiers.js +75 -0
- package/dist/rendering/post/PostQualityTiers.js.map +1 -1
- package/dist/rendering/post/chunks/velocity.glsl.d.ts +7 -0
- package/dist/rendering/post/chunks/velocity.glsl.d.ts.map +1 -1
- package/dist/rendering/post/chunks/velocity.glsl.js +12 -1
- package/dist/rendering/post/chunks/velocity.glsl.js.map +1 -1
- package/dist/rendering/post/shaders/displayGrade.glsl.d.ts +15 -1
- package/dist/rendering/post/shaders/displayGrade.glsl.d.ts.map +1 -1
- package/dist/rendering/post/shaders/displayGrade.glsl.js +26 -2
- package/dist/rendering/post/shaders/displayGrade.glsl.js.map +1 -1
- package/dist/rendering/post/shaders/dof.glsl.d.ts +11 -1
- package/dist/rendering/post/shaders/dof.glsl.d.ts.map +1 -1
- package/dist/rendering/post/shaders/dof.glsl.js +22 -0
- package/dist/rendering/post/shaders/dof.glsl.js.map +1 -1
- package/dist/rendering/post/shaders/finalize.glsl.d.ts +1 -1
- package/dist/rendering/post/shaders/finalize.glsl.d.ts.map +1 -1
- package/dist/rendering/post/shaders/finalize.glsl.js +3 -2
- package/dist/rendering/post/shaders/finalize.glsl.js.map +1 -1
- package/dist/rendering/post/shaders/godrays.glsl.d.ts +24 -1
- package/dist/rendering/post/shaders/godrays.glsl.d.ts.map +1 -1
- package/dist/rendering/post/shaders/godrays.glsl.js +45 -5
- package/dist/rendering/post/shaders/godrays.glsl.js.map +1 -1
- package/dist/rendering/post/shaders/hdrGrade.glsl.d.ts +66 -0
- package/dist/rendering/post/shaders/hdrGrade.glsl.d.ts.map +1 -0
- package/dist/rendering/post/shaders/hdrGrade.glsl.js +159 -0
- package/dist/rendering/post/shaders/hdrGrade.glsl.js.map +1 -0
- package/dist/rendering/post/shaders/ssr.glsl.d.ts +39 -0
- package/dist/rendering/post/shaders/ssr.glsl.d.ts.map +1 -0
- package/dist/rendering/post/shaders/ssr.glsl.js +163 -0
- package/dist/rendering/post/shaders/ssr.glsl.js.map +1 -0
- package/dist/rendering/post/v2Stages.d.ts +53 -0
- package/dist/rendering/post/v2Stages.d.ts.map +1 -1
- package/dist/rendering/post/v2Stages.js +314 -23
- package/dist/rendering/post/v2Stages.js.map +1 -1
- package/dist/rendering/postprocess/NativeBloomPyramid.d.ts +19 -0
- package/dist/rendering/postprocess/NativeBloomPyramid.d.ts.map +1 -1
- package/dist/rendering/postprocess/NativeBloomPyramid.js +37 -0
- package/dist/rendering/postprocess/NativeBloomPyramid.js.map +1 -1
- package/dist/rendering/program/ProgramGenerator.d.ts.map +1 -1
- package/dist/rendering/program/ProgramGenerator.js +12 -1
- package/dist/rendering/program/ProgramGenerator.js.map +1 -1
- package/dist/rendering/program/chunks/shadow_forward.glsl.d.ts +12 -0
- package/dist/rendering/program/chunks/shadow_forward.glsl.d.ts.map +1 -1
- package/dist/rendering/program/chunks/shadow_forward.glsl.js +57 -0
- package/dist/rendering/program/chunks/shadow_forward.glsl.js.map +1 -1
- package/dist/rendering/renderer/Background.d.ts.map +1 -1
- package/dist/rendering/renderer/Background.js +26 -2
- package/dist/rendering/renderer/Background.js.map +1 -1
- package/dist/rendering/renderer/FrameGraph.d.ts +8 -0
- package/dist/rendering/renderer/FrameGraph.d.ts.map +1 -1
- package/dist/rendering/renderer/FrameGraph.js +46 -7
- package/dist/rendering/renderer/FrameGraph.js.map +1 -1
- package/dist/rendering/renderer/OutlineTargets.d.ts +99 -0
- package/dist/rendering/renderer/OutlineTargets.d.ts.map +1 -0
- package/dist/rendering/renderer/OutlineTargets.js +286 -0
- package/dist/rendering/renderer/OutlineTargets.js.map +1 -0
- package/dist/rendering/renderer/PostprocessExecution.d.ts +5 -0
- package/dist/rendering/renderer/PostprocessExecution.d.ts.map +1 -1
- package/dist/rendering/renderer/PostprocessExecution.js +70 -4
- package/dist/rendering/renderer/PostprocessExecution.js.map +1 -1
- package/dist/rendering/renderer/postSkipped.d.ts +6 -0
- package/dist/rendering/renderer/postSkipped.d.ts.map +1 -1
- package/dist/rendering/renderer/postSkipped.js +8 -0
- package/dist/rendering/renderer/postSkipped.js.map +1 -1
- package/dist/rendering/shaders/chunks/author/ibl.glsl.d.ts +20 -0
- package/dist/rendering/shaders/chunks/author/ibl.glsl.d.ts.map +1 -0
- package/dist/rendering/shaders/chunks/author/ibl.glsl.js +84 -0
- package/dist/rendering/shaders/chunks/author/ibl.glsl.js.map +1 -0
- package/dist/rendering/shaders/chunks/author/index.d.ts +3 -1
- package/dist/rendering/shaders/chunks/author/index.d.ts.map +1 -1
- package/dist/rendering/shaders/chunks/author/index.js +38 -3
- package/dist/rendering/shaders/chunks/author/index.js.map +1 -1
- package/dist/rendering/shaders/chunks/author/lights.glsl.d.ts +16 -0
- package/dist/rendering/shaders/chunks/author/lights.glsl.d.ts.map +1 -0
- package/dist/rendering/shaders/chunks/author/lights.glsl.js +112 -0
- package/dist/rendering/shaders/chunks/author/lights.glsl.js.map +1 -0
- package/dist/rendering/shaders/chunks/author/shadow.glsl.d.ts +16 -2
- package/dist/rendering/shaders/chunks/author/shadow.glsl.d.ts.map +1 -1
- package/dist/rendering/shaders/chunks/author/shadow.glsl.js +46 -2
- package/dist/rendering/shaders/chunks/author/shadow.glsl.js.map +1 -1
- package/dist/rendering/shaders/chunks/instance_color_target.glsl.d.ts +34 -0
- package/dist/rendering/shaders/chunks/instance_color_target.glsl.d.ts.map +1 -0
- package/dist/rendering/shaders/chunks/instance_color_target.glsl.js +101 -0
- package/dist/rendering/shaders/chunks/instance_color_target.glsl.js.map +1 -0
- package/dist/rendering/shaders/chunks/rim.glsl.d.ts +37 -0
- package/dist/rendering/shaders/chunks/rim.glsl.d.ts.map +1 -0
- package/dist/rendering/shaders/chunks/rim.glsl.js +50 -0
- package/dist/rendering/shaders/chunks/rim.glsl.js.map +1 -0
- package/dist/rendering/shadows/Prd02ShadowBridge.d.ts +26 -3
- package/dist/rendering/shadows/Prd02ShadowBridge.d.ts.map +1 -1
- package/dist/rendering/shadows/Prd02ShadowBridge.js +134 -8
- package/dist/rendering/shadows/Prd02ShadowBridge.js.map +1 -1
- package/dist/rendering/shadows/Prd02ShadowsContributor.d.ts.map +1 -1
- package/dist/rendering/shadows/Prd02ShadowsContributor.js +4 -16
- package/dist/rendering/shadows/Prd02ShadowsContributor.js.map +1 -1
- package/dist/rendering/vfx/VfxAtlas.d.ts +10 -0
- package/dist/rendering/vfx/VfxAtlas.d.ts.map +1 -1
- package/dist/rendering/vfx/VfxAtlas.js +18 -3
- package/dist/rendering/vfx/VfxAtlas.js.map +1 -1
- package/dist/rendering/webgl2/LegacyPost.d.ts +9 -1
- package/dist/rendering/webgl2/LegacyPost.d.ts.map +1 -1
- package/dist/rendering/webgl2/LegacyPost.js +23 -7
- package/dist/rendering/webgl2/LegacyPost.js.map +1 -1
- package/dist/rendering/webgl2/MultiDraw.d.ts.map +1 -1
- package/dist/rendering/webgl2/MultiDraw.js +51 -1
- package/dist/rendering/webgl2/MultiDraw.js.map +1 -1
- package/dist/rendering/world/vegetation/WindField.d.ts.map +1 -1
- package/dist/rendering/world/vegetation/WindField.js +4 -1
- package/dist/rendering/world/vegetation/WindField.js.map +1 -1
- package/dist/rendering/world/water/ReflectionViewPass.d.ts.map +1 -1
- package/dist/rendering/world/water/ReflectionViewPass.js +12 -2
- package/dist/rendering/world/water/ReflectionViewPass.js.map +1 -1
- package/dist/rendering/world/water/SceneCopyFallback.d.ts.map +1 -1
- package/dist/rendering/world/water/SceneCopyFallback.js +9 -2
- package/dist/rendering/world/water/SceneCopyFallback.js.map +1 -1
- package/dist/rendering/world/water/WaterMaterial.d.ts.map +1 -1
- package/dist/rendering/world/water/WaterMaterial.js +8 -2
- package/dist/rendering/world/water/WaterMaterial.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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostGraph.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/post/PostGraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAsB,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAEvE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAa;IAC5B,mFAAmF;IACnF,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC/B;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,cAAc,GAAG,eAAe,CAAC;IAC3E,uEAAuE;IACvE,OAAO,CAAC,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,cAAc,GAAG,eAAe,CAAC;CAChF;AAOD,MAAM,WAAW,GAAG;IAAG,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE;AAEnF,8BAA8B;AAC9B,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,oFAAoF;IACpF,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,6BAA6B;AAC7B,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,qCAAqC;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,4BAA4B;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,iCAAiC;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,mDAAmD;IACnD,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"PostGraph.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/post/PostGraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostGraph.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/post/PostGraph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,kBAAkB,EAAgB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EACL,oBAAoB,EACpB,qBAAqB,IAAI,8BAA8B,EAMxD,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"PostGraph.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/post/PostGraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
* `quality.onChange` produces a new resolution at the next compile/frame.
|
|
12
12
|
*/
|
|
13
13
|
import type { AuraQualityTier, AuraQualityTierSettings } from "../contracts/quality.js";
|
|
14
|
+
import type { DeviceProbe } from "../contracts/device.js";
|
|
15
|
+
import { type FrameContributor } from "../contracts/frameGraph.js";
|
|
14
16
|
export interface PostTierContext {
|
|
15
17
|
/**
|
|
16
18
|
* Whether the resolved AA mode is `taa` — §6.8 "temporal if taa" on High;
|
|
@@ -92,4 +94,38 @@ export interface PostTierResolution {
|
|
|
92
94
|
* read from it, so the frozen table stays the single source of truth).
|
|
93
95
|
*/
|
|
94
96
|
export declare function resolvePostTier(settings: AuraQualityTierSettings, tier: AuraQualityTier, ctx?: PostTierContext): PostTierResolution;
|
|
97
|
+
/**
|
|
98
|
+
* The post-only sub-flag of `A3D_QR_TIERS` (list token `tiers.post`, env
|
|
99
|
+
* `A3D_QR_TIERS_POST=1`). With it on, an app whose post tier is `auto` (no
|
|
100
|
+
* `post.setQualityTier(tier)`) runs the post chain at its device's C-27 tier
|
|
101
|
+
* instead of always paying for High, while the rest of the tiers lane (the
|
|
102
|
+
* quality controller, governor, render scale, pools, forward and shadow
|
|
103
|
+
* tiers) stays off. Being a sub-flag, `flags.on("A3D_QR_TIERS")` stays false.
|
|
104
|
+
*/
|
|
105
|
+
export declare const POST_ONLY_TIER_FLAG: "A3D_QR_TIERS_POST";
|
|
106
|
+
/**
|
|
107
|
+
* The post tier for a device in post-only mode: the C-27 `TierResolver`
|
|
108
|
+
* classification (hard floors, renderer class table, mobile CPU/RAM signal)
|
|
109
|
+
* capped at `cap`, so the mode only ever lowers post cost (default cap
|
|
110
|
+
* `high`, today's `auto` answer). No probe resolves to `cap`.
|
|
111
|
+
*/
|
|
112
|
+
export declare function resolvePostOnlyTier(probe: DeviceProbe | null | undefined, cap?: AuraQualityTier): AuraQualityTier;
|
|
113
|
+
/**
|
|
114
|
+
* The post-only tier recorded for `canvas`, or `undefined` when the app that
|
|
115
|
+
* owns it does not run `A3D_QR_TIERS_POST` (or has not rendered a frame yet:
|
|
116
|
+
* the first frame keeps the High answer).
|
|
117
|
+
*/
|
|
118
|
+
export declare function postOnlyTierFor(canvas: object | null | undefined): AuraQualityTier | undefined;
|
|
119
|
+
/** Classify once per canvas; later frames reuse the answer. */
|
|
120
|
+
export declare function recordPostOnlyTier(canvas: object, probe: DeviceProbe | null | undefined): AuraQualityTier;
|
|
121
|
+
/** Test hook: forget a canvas's recorded post-only tier. */
|
|
122
|
+
export declare function clearPostOnlyTier(canvas: object): void;
|
|
123
|
+
/**
|
|
124
|
+
* Collect-phase contributor, active only for apps whose flags have
|
|
125
|
+
* `A3D_QR_TIERS_POST` on (registry filter): records the device tier for the
|
|
126
|
+
* device's canvas and passes the items through untouched (no pass, no draw).
|
|
127
|
+
*/
|
|
128
|
+
export declare const POST_ONLY_TIER_CONTRIBUTOR: FrameContributor;
|
|
129
|
+
/** Lane barrel entry: registers the post-only tier contributor once (inactive unless the flag is on). */
|
|
130
|
+
export declare function registerPostOnlyTierContributor(): void;
|
|
95
131
|
//# sourceMappingURL=PostQualityTiers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostQualityTiers.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/post/PostQualityTiers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"PostQualityTiers.d.ts","sourceRoot":"","sources":["../../../../../packages/rendering/src/post/PostQualityTiers.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
* tier change recorded through `post.setQualityTier` → `app.quality.set` →
|
|
11
11
|
* `quality.onChange` produces a new resolution at the next compile/frame.
|
|
12
12
|
*/
|
|
13
|
+
import { registerFrameContributor } from "../contracts/frameGraph.js";
|
|
14
|
+
import { TierResolver } from "../quality/TierResolver.js";
|
|
13
15
|
/**
|
|
14
16
|
* §6.8 tier × feature table. `settings` is the C-27 `AuraQualityTierSettings`
|
|
15
17
|
* for `tier` (the caller passes `QUALITY_TIERS[tier]` — rows marked C-27 are
|
|
@@ -59,4 +61,77 @@ export function resolvePostTier(settings, tier, ctx = {}) {
|
|
|
59
61
|
dither: true
|
|
60
62
|
};
|
|
61
63
|
}
|
|
64
|
+
/* ------------------------------------------------------------------------- */
|
|
65
|
+
/* GU47 E-G (WP-7): `A3D_QR_TIERS` post-only mode */
|
|
66
|
+
/* ------------------------------------------------------------------------- */
|
|
67
|
+
/**
|
|
68
|
+
* The post-only sub-flag of `A3D_QR_TIERS` (list token `tiers.post`, env
|
|
69
|
+
* `A3D_QR_TIERS_POST=1`). With it on, an app whose post tier is `auto` (no
|
|
70
|
+
* `post.setQualityTier(tier)`) runs the post chain at its device's C-27 tier
|
|
71
|
+
* instead of always paying for High, while the rest of the tiers lane (the
|
|
72
|
+
* quality controller, governor, render scale, pools, forward and shadow
|
|
73
|
+
* tiers) stays off. Being a sub-flag, `flags.on("A3D_QR_TIERS")` stays false.
|
|
74
|
+
*/
|
|
75
|
+
export const POST_ONLY_TIER_FLAG = "A3D_QR_TIERS_POST";
|
|
76
|
+
const TIER_ORDER = ["low", "medium", "high", "ultra"];
|
|
77
|
+
/**
|
|
78
|
+
* The post tier for a device in post-only mode: the C-27 `TierResolver`
|
|
79
|
+
* classification (hard floors, renderer class table, mobile CPU/RAM signal)
|
|
80
|
+
* capped at `cap`, so the mode only ever lowers post cost (default cap
|
|
81
|
+
* `high`, today's `auto` answer). No probe resolves to `cap`.
|
|
82
|
+
*/
|
|
83
|
+
export function resolvePostOnlyTier(probe, cap = "high") {
|
|
84
|
+
if (!probe)
|
|
85
|
+
return cap;
|
|
86
|
+
const detected = new TierResolver().detect(probe).tier;
|
|
87
|
+
return TIER_ORDER.indexOf(detected) < TIER_ORDER.indexOf(cap) ? detected : cap;
|
|
88
|
+
}
|
|
89
|
+
/** Post-only tiers by canvas (the device's canvas is the app's canvas). */
|
|
90
|
+
const postOnlyTiers = new WeakMap();
|
|
91
|
+
/**
|
|
92
|
+
* The post-only tier recorded for `canvas`, or `undefined` when the app that
|
|
93
|
+
* owns it does not run `A3D_QR_TIERS_POST` (or has not rendered a frame yet:
|
|
94
|
+
* the first frame keeps the High answer).
|
|
95
|
+
*/
|
|
96
|
+
export function postOnlyTierFor(canvas) {
|
|
97
|
+
return canvas ? postOnlyTiers.get(canvas) : undefined;
|
|
98
|
+
}
|
|
99
|
+
/** Classify once per canvas; later frames reuse the answer. */
|
|
100
|
+
export function recordPostOnlyTier(canvas, probe) {
|
|
101
|
+
let tier = postOnlyTiers.get(canvas);
|
|
102
|
+
if (tier === undefined) {
|
|
103
|
+
tier = resolvePostOnlyTier(probe);
|
|
104
|
+
postOnlyTiers.set(canvas, tier);
|
|
105
|
+
}
|
|
106
|
+
return tier;
|
|
107
|
+
}
|
|
108
|
+
/** Test hook: forget a canvas's recorded post-only tier. */
|
|
109
|
+
export function clearPostOnlyTier(canvas) {
|
|
110
|
+
postOnlyTiers.delete(canvas);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Collect-phase contributor, active only for apps whose flags have
|
|
114
|
+
* `A3D_QR_TIERS_POST` on (registry filter): records the device tier for the
|
|
115
|
+
* device's canvas and passes the items through untouched (no pass, no draw).
|
|
116
|
+
*/
|
|
117
|
+
export const POST_ONLY_TIER_CONTRIBUTOR = {
|
|
118
|
+
id: "prd03.postOnlyTier",
|
|
119
|
+
owner: "prd03",
|
|
120
|
+
flag: POST_ONLY_TIER_FLAG,
|
|
121
|
+
phases: ["collect"],
|
|
122
|
+
order: -1000,
|
|
123
|
+
collect(items, ctx) {
|
|
124
|
+
const canvas = ctx.device.canvas;
|
|
125
|
+
if (typeof canvas === "object" && canvas !== null)
|
|
126
|
+
recordPostOnlyTier(canvas, ctx.device.probe);
|
|
127
|
+
return items;
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
let releasePostOnlyTierContributor = null;
|
|
131
|
+
/** Lane barrel entry: registers the post-only tier contributor once (inactive unless the flag is on). */
|
|
132
|
+
export function registerPostOnlyTierContributor() {
|
|
133
|
+
if (releasePostOnlyTierContributor)
|
|
134
|
+
return;
|
|
135
|
+
releasePostOnlyTierContributor = registerFrameContributor(POST_ONLY_TIER_CONTRIBUTOR);
|
|
136
|
+
}
|
|
62
137
|
//# sourceMappingURL=PostQualityTiers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostQualityTiers.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/post/PostQualityTiers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"PostQualityTiers.js","sourceRoot":"","sources":["../../../../../packages/rendering/src/post/PostQualityTiers.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,5 +31,12 @@ export declare const velocityParsFragmentChunk: ShaderChunk;
|
|
|
31
31
|
export declare const velocityWriteFragmentChunk: ShaderChunk;
|
|
32
32
|
export declare const VELOCITY_BIT = "velocity";
|
|
33
33
|
export declare const velocityFeature: ShaderFeature;
|
|
34
|
+
/**
|
|
35
|
+
* GU47 E-G (WP-7): the registered form of `velocityFeature` also requires a
|
|
36
|
+
* prepared temporal frame (`velocityFramePrepared`), so promoting
|
|
37
|
+
* `A3D_QR_POST_VELOCITY_MRT` leaves scenes without TAA / motion blur on
|
|
38
|
+
* their current programs. `velocityFeature.select` keeps the flag-only rule.
|
|
39
|
+
*/
|
|
40
|
+
export declare const registeredVelocityFeature: ShaderFeature;
|
|
34
41
|
export declare function registerVelocityShader(registerChunk: (c: ShaderChunk) => void, registerFeature: (f: ShaderFeature) => () => void): () => void;
|
|
35
42
|
//# sourceMappingURL=velocity.glsl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"velocity.glsl.d.ts","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/chunks/velocity.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"velocity.glsl.d.ts","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/chunks/velocity.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAI1E,eAAO,MAAM,uBAAuB,EAAE,WAerC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,WAStC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,WAcvC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,WAUxC,CAAC;AAEF,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,eAAO,MAAM,eAAe,EAAE,aAqB7B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,aAGvC,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,aAAa,EAAE,CAAC,CAAC,EAAE,WAAW,KAAK,IAAI,EACvC,eAAe,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,MAAM,IAAI,GAChD,MAAM,IAAI,CAMZ"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { VELOCITY_MRT } from "../../contracts/velocity.js";
|
|
2
|
+
import { velocityFramePrepared } from "../../forward/Velocity.js";
|
|
2
3
|
export const velocityParsVertexChunk = {
|
|
3
4
|
name: "a3d_prd03_velocityParsVertex",
|
|
4
5
|
owner: "prd03",
|
|
@@ -76,11 +77,21 @@ export const velocityFeature = {
|
|
|
76
77
|
return { [VELOCITY_MRT.define]: true };
|
|
77
78
|
}
|
|
78
79
|
};
|
|
80
|
+
/**
|
|
81
|
+
* GU47 E-G (WP-7): the registered form of `velocityFeature` also requires a
|
|
82
|
+
* prepared temporal frame (`velocityFramePrepared`), so promoting
|
|
83
|
+
* `A3D_QR_POST_VELOCITY_MRT` leaves scenes without TAA / motion blur on
|
|
84
|
+
* their current programs. `velocityFeature.select` keeps the flag-only rule.
|
|
85
|
+
*/
|
|
86
|
+
export const registeredVelocityFeature = {
|
|
87
|
+
...velocityFeature,
|
|
88
|
+
select: (input) => (velocityFramePrepared() ? velocityFeature.select(input) : undefined)
|
|
89
|
+
};
|
|
79
90
|
export function registerVelocityShader(registerChunk, registerFeature) {
|
|
80
91
|
registerChunk(velocityParsVertexChunk);
|
|
81
92
|
registerChunk(velocityWriteVertexChunk);
|
|
82
93
|
registerChunk(velocityParsFragmentChunk);
|
|
83
94
|
registerChunk(velocityWriteFragmentChunk);
|
|
84
|
-
return registerFeature(
|
|
95
|
+
return registerFeature(registeredVelocityFeature);
|
|
85
96
|
}
|
|
86
97
|
//# sourceMappingURL=velocity.glsl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"velocity.glsl.js","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/chunks/velocity.glsl.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"velocity.glsl.js","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/chunks/velocity.glsl.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,MAAM,CAAC,MAAM,uBAAuB,GAAgB;IAClD,IAAI,EAAE,8BAA8B;IACpC,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE;;;;;;;CAOP;IACC,IAAI,EAAE;;CAEP;CACA,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAgB;IACnD,IAAI,EAAE,+BAA+B;IACrC,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,CAAC,8BAA8B,CAAC;IAC1C,IAAI,EAAE;;wFAEgF;IACtF,IAAI,EAAE,oBAAoB;CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAgB;IACpD,IAAI,EAAE,gCAAgC;IACtC,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE;;;;;;;;CAQP;IACC,IAAI,EAAE,kCAAkC;CACzC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAgB;IACrD,IAAI,EAAE,iCAAiC;IACvC,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,UAAU;IACjB,QAAQ,EAAE,CAAC,gCAAgC,CAAC;IAC5C,IAAI,EAAE;;;iCAGyB;IAC/B,IAAI,EAAE,sBAAsB;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CAAC;AAEvC,MAAM,CAAC,MAAM,eAAe,GAAkB;IAC5C,EAAE,EAAE,gBAAgB;IACpB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE;QACN,8BAA8B;QAC9B,+BAA+B;QAC/B,gCAAgC;QAChC,iCAAiC;KAClC;IACD,KAAK,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,cAAc,CAAC;IACrE,MAAM,CAAC,KAAK;QACV,0EAA0E;QAC1E,gEAAgE;QAChE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAAC;YAAE,OAAO,SAAS,CAAC;QAClE,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO;QACL,OAAO,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;IACzC,CAAC;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAkB;IACtD,GAAG,eAAe;IAClB,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;CACzF,CAAC;AAEF,MAAM,UAAU,sBAAsB,CACpC,aAAuC,EACvC,eAAiD;IAEjD,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACvC,aAAa,CAAC,wBAAwB,CAAC,CAAC;IACxC,aAAa,CAAC,yBAAyB,CAAC,CAAC;IACzC,aAAa,CAAC,0BAA0B,CAAC,CAAC;IAC1C,OAAO,eAAe,CAAC,yBAAyB,CAAC,CAAC;AACpD,CAAC"}
|
|
@@ -7,7 +7,21 @@
|
|
|
7
7
|
* Output alpha carries `luma(disp)` so the S11 FXAA pass reads luminance
|
|
8
8
|
* from `.a` instead of recomputing it per tap.
|
|
9
9
|
*/
|
|
10
|
-
|
|
10
|
+
/**
|
|
11
|
+
* GU47 E-C (EC-2): the S10b LUT fetch shared by `DISPLAY_GRADE_GLSL` and the
|
|
12
|
+
* fused FXAA finalize. Declares `u_lutLattice` / `u_lutBypass` and
|
|
13
|
+
* `a3dDisplayLut(disp)`; the caller declares `u_lut3d` and `u_hasLut`.
|
|
14
|
+
*
|
|
15
|
+
* - `u_lutLattice = 1` for a user `.cube` uploaded as-is: its rows are lattice
|
|
16
|
+
* samples at i/(N−1), so the coordinate gets the half-texel remap
|
|
17
|
+
* `c·(N−1)/N + 0.5/N`. `0` (default) keeps the texel-centre convention of
|
|
18
|
+
* the analytic bake (`LUT_BAKE_GLSL` writes texel i at (i+0.5)/N).
|
|
19
|
+
* - `u_lutBypass` is the fraction of the ungraded colour kept, i.e.
|
|
20
|
+
* `1 − lutIntensity`; the default 0 applies the LUT fully, so callers that
|
|
21
|
+
* predate it render exactly as before.
|
|
22
|
+
*/
|
|
23
|
+
export declare const DISPLAY_LUT_FETCH_GLSL = "uniform int u_lutLattice;\nuniform float u_lutBypass;\nvec3 a3dDisplayLut(vec3 disp) {\n vec3 lutCoord = clamp(disp, 0.0, 1.0);\n if (u_lutLattice != 0) {\n vec3 lutSize = vec3(textureSize(u_lut3d, 0));\n lutCoord = lutCoord * ((lutSize - 1.0) / lutSize) + 0.5 / lutSize;\n }\n return mix(texture(u_lut3d, lutCoord).rgb, disp, u_lutBypass);\n}\n";
|
|
24
|
+
export declare const DISPLAY_GRADE_GLSL = "#version 300 es\nprecision highp float;\n// GLSL ES 3.00 has no default precision for sampler3D (CI: \"'sampler3D' : No precision specified\").\nprecision highp sampler3D;\nuniform sampler2D u_source;\nuniform sampler3D u_lut3d;\nuniform int u_hasLut;\nuniform float u_vignetteIntensity;\nuniform float u_vignetteSmoothness;\nuniform float u_vignetteRoundness;\nuniform vec3 u_vignetteColor;\nuniform vec2 u_resolution;\nin vec2 v_uv;\nout vec4 outColor;\n\nfloat luma(vec3 c) { return dot(c, vec3(0.2126, 0.7152, 0.0722)); }\nuniform int u_lutLattice;\nuniform float u_lutBypass;\nvec3 a3dDisplayLut(vec3 disp) {\n vec3 lutCoord = clamp(disp, 0.0, 1.0);\n if (u_lutLattice != 0) {\n vec3 lutSize = vec3(textureSize(u_lut3d, 0));\n lutCoord = lutCoord * ((lutSize - 1.0) / lutSize) + 0.5 / lutSize;\n }\n return mix(texture(u_lut3d, lutCoord).rgb, disp, u_lutBypass);\n}\n\nvoid main() {\n vec3 disp = texture(u_source, v_uv).rgb;\n if (u_hasLut != 0) {\n disp = a3dDisplayLut(disp);\n }\n if (u_vignetteIntensity > 0.0) {\n // \u00A78.12: roundness-aspect corrected len, mix toward vignetteColor.\n vec2 p = (v_uv - 0.5) * 2.0;\n p.x *= (u_resolution.x / u_resolution.y) * u_vignetteRoundness;\n float len = length(p) * u_vignetteIntensity;\n disp *= mix(vec3(1.0), u_vignetteColor, pow(clamp(len, 0.0, 1.0), u_vignetteSmoothness));\n }\n outColor = vec4(disp, luma(disp));\n}\n";
|
|
11
25
|
/**
|
|
12
26
|
* Display-grade bake: one draw per slice into the 65³ RGBA8 TEXTURE_3D with
|
|
13
27
|
* `framebufferTextureLayer`. Applies contrast (pivot 0.5), saturation,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"displayGrade.glsl.d.ts","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/shaders/displayGrade.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"displayGrade.glsl.d.ts","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/shaders/displayGrade.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,wWAUlC,CAAC;AAEF,eAAO,MAAM,kBAAkB,04CA+B9B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,wwCA+BzB,CAAC"}
|
|
@@ -7,6 +7,30 @@
|
|
|
7
7
|
* Output alpha carries `luma(disp)` so the S11 FXAA pass reads luminance
|
|
8
8
|
* from `.a` instead of recomputing it per tap.
|
|
9
9
|
*/
|
|
10
|
+
/**
|
|
11
|
+
* GU47 E-C (EC-2): the S10b LUT fetch shared by `DISPLAY_GRADE_GLSL` and the
|
|
12
|
+
* fused FXAA finalize. Declares `u_lutLattice` / `u_lutBypass` and
|
|
13
|
+
* `a3dDisplayLut(disp)`; the caller declares `u_lut3d` and `u_hasLut`.
|
|
14
|
+
*
|
|
15
|
+
* - `u_lutLattice = 1` for a user `.cube` uploaded as-is: its rows are lattice
|
|
16
|
+
* samples at i/(N−1), so the coordinate gets the half-texel remap
|
|
17
|
+
* `c·(N−1)/N + 0.5/N`. `0` (default) keeps the texel-centre convention of
|
|
18
|
+
* the analytic bake (`LUT_BAKE_GLSL` writes texel i at (i+0.5)/N).
|
|
19
|
+
* - `u_lutBypass` is the fraction of the ungraded colour kept, i.e.
|
|
20
|
+
* `1 − lutIntensity`; the default 0 applies the LUT fully, so callers that
|
|
21
|
+
* predate it render exactly as before.
|
|
22
|
+
*/
|
|
23
|
+
export const DISPLAY_LUT_FETCH_GLSL = /* glsl */ `uniform int u_lutLattice;
|
|
24
|
+
uniform float u_lutBypass;
|
|
25
|
+
vec3 a3dDisplayLut(vec3 disp) {
|
|
26
|
+
vec3 lutCoord = clamp(disp, 0.0, 1.0);
|
|
27
|
+
if (u_lutLattice != 0) {
|
|
28
|
+
vec3 lutSize = vec3(textureSize(u_lut3d, 0));
|
|
29
|
+
lutCoord = lutCoord * ((lutSize - 1.0) / lutSize) + 0.5 / lutSize;
|
|
30
|
+
}
|
|
31
|
+
return mix(texture(u_lut3d, lutCoord).rgb, disp, u_lutBypass);
|
|
32
|
+
}
|
|
33
|
+
`;
|
|
10
34
|
export const DISPLAY_GRADE_GLSL = /* glsl */ `#version 300 es
|
|
11
35
|
precision highp float;
|
|
12
36
|
// GLSL ES 3.00 has no default precision for sampler3D (CI: "'sampler3D' : No precision specified").
|
|
@@ -23,11 +47,11 @@ in vec2 v_uv;
|
|
|
23
47
|
out vec4 outColor;
|
|
24
48
|
|
|
25
49
|
float luma(vec3 c) { return dot(c, vec3(0.2126, 0.7152, 0.0722)); }
|
|
26
|
-
|
|
50
|
+
${DISPLAY_LUT_FETCH_GLSL}
|
|
27
51
|
void main() {
|
|
28
52
|
vec3 disp = texture(u_source, v_uv).rgb;
|
|
29
53
|
if (u_hasLut != 0) {
|
|
30
|
-
disp =
|
|
54
|
+
disp = a3dDisplayLut(disp);
|
|
31
55
|
}
|
|
32
56
|
if (u_vignetteIntensity > 0.0) {
|
|
33
57
|
// §8.12: roundness-aspect corrected len, mix toward vignetteColor.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"displayGrade.glsl.js","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/shaders/displayGrade.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC
|
|
1
|
+
{"version":3,"file":"displayGrade.glsl.js","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/shaders/displayGrade.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;;;;;;;;;;CAUhD,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;EAgB3C,sBAAsB;;;;;;;;;;;;;;;CAevB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BvC,CAAC"}
|
|
@@ -17,8 +17,18 @@
|
|
|
17
17
|
* background taps scatter by their own CoC, near-field taps by the
|
|
18
18
|
* tile-dilated near CoC.
|
|
19
19
|
* DOF_COMPOSITE_GLSL — full-res `smoothstep(|coc|, 1, 2)` blend.
|
|
20
|
+
*
|
|
21
|
+
* GU47 E-C (EC-8) tilt-shift band mode (`u_tiltShift.w = 1`): the CoC comes
|
|
22
|
+
* from the screen position instead of depth. `t` is the distance across the
|
|
23
|
+
* band (frame-height units, 0 = top edge, 1 = bottom edge, rotated by
|
|
24
|
+
* `angle` about the frame centre); pixels within `bandWidth / 2` of
|
|
25
|
+
* `bandCenter` stay sharp and the blur ramps linearly to `maxBlurPx` over
|
|
26
|
+
* `max(0.05, (1 − bandWidth) / 2)`. Band-mode CoC is far-field (positive)
|
|
27
|
+
* on both sides, so no near-field dilation bleeds over the sharp band, and
|
|
28
|
+
* the sky blurs like everything else. `u_tiltShift.w = 0` is the thin-lens
|
|
29
|
+
* path above, unchanged.
|
|
20
30
|
*/
|
|
21
|
-
export declare const DOF_PREFILTER_GLSL = "#version 300 es\nprecision highp float;\n\nuniform highp sampler2D u_color;\nuniform highp sampler2D u_linearDepth;\nuniform float u_focusDistance; // metres\nuniform float u_focalLengthMm;\nuniform float u_fStop;\nuniform float u_sensorHeightMm;\nuniform float u_frameHeightPx; // full-res height\nuniform float u_maxBlurPx;\nout vec4 o_color;\n\n\nfloat linearizeDepth(float d, float n, float f, bool ortho) {\n float z = d * 2.0 - 1.0;\n return ortho ? mix(n, f, d) : (2.0 * n * f) / (f + n - z * (f - n));\n}\n\nuvec2 pcg2d(uvec2 v) {\n v = v * 1664525u + 1013904223u;\n v.x += v.y * 1664525u;\n v.y += v.x * 1664525u;\n v ^= v >> 16u;\n v.x += v.y * 1664525u;\n v.y += v.x * 1664525u;\n v ^= v >> 16u;\n return v;\n}\n\n// Triangular-PDF dither: (rand0 + rand1 - 1) / 255 \u2192 \u00B11 LSB of 8-bit output.\nfloat triangularDither(vec2 fragCoord, float frame) {\n uvec2 seed = uvec2(fragCoord) + uvec2(uint(frame) * 747796405u);\n vec2 rand = vec2(pcg2d(seed)) / 4294967296.0;\n return (rand.x + rand.y - 1.0) / 255.0;\n}\n\n\nvoid main() {\n ivec2 pixel = ivec2(gl_FragCoord.xy);\n // u_color is the FULL-res HDR target: box-average its 2\u00D72 block (03-S15 \u2014\n // a texelFetch at the half-res index read only the lower-left quadrant).\n ivec2 fullMax = textureSize(u_color, 0) - 1;\n ivec2 base = pixel * 2;\n vec3 color = 0.25 * (\n texelFetch(u_color, clamp(base, ivec2(0), fullMax), 0).rgb +\n texelFetch(u_color, clamp(base + ivec2(1, 0), ivec2(0), fullMax), 0).rgb +\n texelFetch(u_color, clamp(base + ivec2(0, 1), ivec2(0), fullMax), 0).rgb +\n texelFetch(u_color, clamp(base + ivec2(1, 1), ivec2(0), fullMax), 0).rgb);\n float z = texelFetch(u_linearDepth, clamp(base, ivec2(0), textureSize(u_linearDepth, 0) - 1), 0).r;\n float f = u_focalLengthMm;\n float aperture = f / max(u_fStop, 0.01);\n float zMm = max(z * 1000.0, 1.0);\n float zfMm = u_focusDistance * 1000.0;\n float cocMm = aperture * f * (zMm - zfMm) / (zMm * max(zfMm - f, 1.0));\n float cocPx = clamp(cocMm * (u_frameHeightPx / u_sensorHeightMm), -u_maxBlurPx, u_maxBlurPx);\n // Sky (linear Z at far) never blurs.\n cocPx = zMm >= 9.9e5 ? 0.0 : cocPx;\n o_color = vec4(color, cocPx);\n}\n";
|
|
31
|
+
export declare const DOF_PREFILTER_GLSL = "#version 300 es\nprecision highp float;\n\nuniform highp sampler2D u_color;\nuniform highp sampler2D u_linearDepth;\nuniform float u_focusDistance; // metres\nuniform float u_focalLengthMm;\nuniform float u_fStop;\nuniform float u_sensorHeightMm;\nuniform float u_frameHeightPx; // full-res height\nuniform float u_maxBlurPx;\nuniform vec4 u_tiltShift; // GU47: x band centre (0 top, 1 bottom), y band width, z angle (rad), w 1 = band mode\nout vec4 o_color;\n\n\nfloat linearizeDepth(float d, float n, float f, bool ortho) {\n float z = d * 2.0 - 1.0;\n return ortho ? mix(n, f, d) : (2.0 * n * f) / (f + n - z * (f - n));\n}\n\nuvec2 pcg2d(uvec2 v) {\n v = v * 1664525u + 1013904223u;\n v.x += v.y * 1664525u;\n v.y += v.x * 1664525u;\n v ^= v >> 16u;\n v.x += v.y * 1664525u;\n v.y += v.x * 1664525u;\n v ^= v >> 16u;\n return v;\n}\n\n// Triangular-PDF dither: (rand0 + rand1 - 1) / 255 \u2192 \u00B11 LSB of 8-bit output.\nfloat triangularDither(vec2 fragCoord, float frame) {\n uvec2 seed = uvec2(fragCoord) + uvec2(uint(frame) * 747796405u);\n vec2 rand = vec2(pcg2d(seed)) / 4294967296.0;\n return (rand.x + rand.y - 1.0) / 255.0;\n}\n\n\nfloat tiltShiftCocPx(ivec2 base, ivec2 fullSize) {\n vec2 uv = (vec2(base) + 1.0) / vec2(fullSize);\n float aspect = float(fullSize.x) / float(max(fullSize.y, 1));\n vec2 p = vec2((uv.x - 0.5) * aspect, (1.0 - uv.y) - 0.5);\n float t = dot(p, vec2(-sin(u_tiltShift.z), cos(u_tiltShift.z))) + 0.5;\n float halfBand = 0.5 * clamp(u_tiltShift.y, 0.0, 1.0);\n float ramp = max(0.05, 0.5 - halfBand);\n return clamp((abs(t - u_tiltShift.x) - halfBand) / ramp, 0.0, 1.0) * u_maxBlurPx;\n}\n\nvoid main() {\n ivec2 pixel = ivec2(gl_FragCoord.xy);\n // u_color is the FULL-res HDR target: box-average its 2\u00D72 block (03-S15 \u2014\n // a texelFetch at the half-res index read only the lower-left quadrant).\n ivec2 fullMax = textureSize(u_color, 0) - 1;\n ivec2 base = pixel * 2;\n vec3 color = 0.25 * (\n texelFetch(u_color, clamp(base, ivec2(0), fullMax), 0).rgb +\n texelFetch(u_color, clamp(base + ivec2(1, 0), ivec2(0), fullMax), 0).rgb +\n texelFetch(u_color, clamp(base + ivec2(0, 1), ivec2(0), fullMax), 0).rgb +\n texelFetch(u_color, clamp(base + ivec2(1, 1), ivec2(0), fullMax), 0).rgb);\n float z = texelFetch(u_linearDepth, clamp(base, ivec2(0), textureSize(u_linearDepth, 0) - 1), 0).r;\n float f = u_focalLengthMm;\n float aperture = f / max(u_fStop, 0.01);\n float zMm = max(z * 1000.0, 1.0);\n float zfMm = u_focusDistance * 1000.0;\n float cocMm = aperture * f * (zMm - zfMm) / (zMm * max(zfMm - f, 1.0));\n float cocPx = clamp(cocMm * (u_frameHeightPx / u_sensorHeightMm), -u_maxBlurPx, u_maxBlurPx);\n // Sky (linear Z at far) never blurs.\n cocPx = zMm >= 9.9e5 ? 0.0 : cocPx;\n if (u_tiltShift.w > 0.5) cocPx = tiltShiftCocPx(base, fullMax + 1);\n o_color = vec4(color, cocPx);\n}\n";
|
|
22
32
|
export declare const DOF_NEAR_TILE_GLSL = "#version 300 es\nprecision highp float;\n\nuniform highp sampler2D u_prefilter; // half-res, .a = signed cocPx\nout vec4 o_color;\n\nvoid main() {\n ivec2 tile = ivec2(gl_FragCoord.xy);\n ivec2 size = textureSize(u_prefilter, 0);\n float near_ = 0.0;\n for (int y = 0; y < 8; y += 1) for (int x = 0; x < 8; x += 1) {\n ivec2 p = tile * 8 + ivec2(x, y);\n if (p.x >= size.x || p.y >= size.y) continue;\n float coc = texelFetch(u_prefilter, p, 0).a;\n near_ = max(near_, -coc); // near field is the negative-CoC side\n }\n o_color = vec4(near_, 0.0, 0.0, 1.0);\n}\n";
|
|
23
33
|
export declare const DOF_GATHER_GLSL = "#version 300 es\nprecision highp float;\n\nuniform highp sampler2D u_prefilter; // half-res color + signed coc\nuniform highp sampler2D u_nearTile; // 8px tiles, .r = near |coc|\nuniform float u_maxBlurPx; // full-res px (CoC diameter)\nout vec4 o_color;\n\nconst float DOF_HALF_RES_RADIUS = 0.25;\n\nvoid main() {\n ivec2 pixel = ivec2(gl_FragCoord.xy);\n ivec2 size = textureSize(u_prefilter, 0);\n vec4 center = texelFetch(u_prefilter, pixel, 0);\n float centerCoc = center.a;\n float centerNear = texelFetch(u_nearTile, pixel / 8, 0).r;\n // .a is the full-res CoC *diameter* in px: the half-res disc radius is\n // diameter / 2 (radius) / 2 (half res) = 0.25 \u00B7 |coc| (03-S15 \u2014 0.5 drew a\n // bokeh twice the thin-lens diameter).\n float radius = max(abs(centerCoc), centerNear) * DOF_HALF_RES_RADIUS;\n vec3 sum = center.rgb;\n float wsum = 1.0;\n const int RINGS = DOF_RINGS;\n for (int ring = 1; ring <= RINGS; ring += 1) {\n for (int s = 0; s < 8; s += 1) {\n float angle = 2.39996323 * float(ring * 8 + s); // golden-angle Vogel disc\n vec2 dir = vec2(cos(angle), sin(angle));\n ivec2 tap = clamp(pixel + ivec2(dir * radius * (float(ring) / float(RINGS)) + vec2(0.5)), ivec2(0), size - 1);\n vec4 t = texelFetch(u_prefilter, tap, 0);\n float tapNear = texelFetch(u_nearTile, tap / 8, 0).r;\n // A tap contributes when its own blur reaches this pixel, or when the\n // tile's near field does (foreground bleeds over sharp background).\n float reach = max(abs(t.a), tapNear) * DOF_HALF_RES_RADIUS;\n float w = clamp((reach + 0.5) / max(length(vec2(tap - pixel)), 0.5), 0.0, 1.0);\n sum += t.rgb * w;\n wsum += w;\n }\n }\n o_color = vec4(sum / wsum, centerCoc);\n}\n";
|
|
24
34
|
export declare const DOF_COMPOSITE_GLSL = "#version 300 es\nprecision highp float;\n\nuniform highp sampler2D u_color; // full-res HDR\nuniform highp sampler2D u_blurred; // half-res gather (.a = signed cocPx)\nout vec4 o_color;\n\nvoid main() {\n ivec2 pixel = ivec2(gl_FragCoord.xy);\n vec4 src = texelFetch(u_color, pixel, 0);\n vec4 blur = texture(u_blurred, (vec2(pixel) + 0.5) / vec2(textureSize(u_color, 0)));\n o_color = vec4(mix(src.rgb, blur.rgb, smoothstep(1.0, 2.0, abs(blur.a))), src.a);\n}\n";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dof.glsl.d.ts","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/shaders/dof.glsl.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"dof.glsl.d.ts","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/shaders/dof.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAQH,eAAO,MAAM,kBAAkB,41FA+C9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,0kBAgB9B,CAAC;AAEF,eAAO,MAAM,eAAe,gvDAsC3B,CAAC;AAEF,eAAO,MAAM,kBAAkB,ydAW9B,CAAC"}
|
|
@@ -17,6 +17,16 @@
|
|
|
17
17
|
* background taps scatter by their own CoC, near-field taps by the
|
|
18
18
|
* tile-dilated near CoC.
|
|
19
19
|
* DOF_COMPOSITE_GLSL — full-res `smoothstep(|coc|, 1, 2)` blend.
|
|
20
|
+
*
|
|
21
|
+
* GU47 E-C (EC-8) tilt-shift band mode (`u_tiltShift.w = 1`): the CoC comes
|
|
22
|
+
* from the screen position instead of depth. `t` is the distance across the
|
|
23
|
+
* band (frame-height units, 0 = top edge, 1 = bottom edge, rotated by
|
|
24
|
+
* `angle` about the frame centre); pixels within `bandWidth / 2` of
|
|
25
|
+
* `bandCenter` stay sharp and the blur ramps linearly to `maxBlurPx` over
|
|
26
|
+
* `max(0.05, (1 − bandWidth) / 2)`. Band-mode CoC is far-field (positive)
|
|
27
|
+
* on both sides, so no near-field dilation bleeds over the sharp band, and
|
|
28
|
+
* the sky blurs like everything else. `u_tiltShift.w = 0` is the thin-lens
|
|
29
|
+
* path above, unchanged.
|
|
20
30
|
*/
|
|
21
31
|
import { POST_COMMON_GLSL } from "./common.glsl.js";
|
|
22
32
|
const HEADER = `#version 300 es
|
|
@@ -31,10 +41,21 @@ uniform float u_fStop;
|
|
|
31
41
|
uniform float u_sensorHeightMm;
|
|
32
42
|
uniform float u_frameHeightPx; // full-res height
|
|
33
43
|
uniform float u_maxBlurPx;
|
|
44
|
+
uniform vec4 u_tiltShift; // GU47: x band centre (0 top, 1 bottom), y band width, z angle (rad), w 1 = band mode
|
|
34
45
|
out vec4 o_color;
|
|
35
46
|
|
|
36
47
|
${POST_COMMON_GLSL}
|
|
37
48
|
|
|
49
|
+
float tiltShiftCocPx(ivec2 base, ivec2 fullSize) {
|
|
50
|
+
vec2 uv = (vec2(base) + 1.0) / vec2(fullSize);
|
|
51
|
+
float aspect = float(fullSize.x) / float(max(fullSize.y, 1));
|
|
52
|
+
vec2 p = vec2((uv.x - 0.5) * aspect, (1.0 - uv.y) - 0.5);
|
|
53
|
+
float t = dot(p, vec2(-sin(u_tiltShift.z), cos(u_tiltShift.z))) + 0.5;
|
|
54
|
+
float halfBand = 0.5 * clamp(u_tiltShift.y, 0.0, 1.0);
|
|
55
|
+
float ramp = max(0.05, 0.5 - halfBand);
|
|
56
|
+
return clamp((abs(t - u_tiltShift.x) - halfBand) / ramp, 0.0, 1.0) * u_maxBlurPx;
|
|
57
|
+
}
|
|
58
|
+
|
|
38
59
|
void main() {
|
|
39
60
|
ivec2 pixel = ivec2(gl_FragCoord.xy);
|
|
40
61
|
// u_color is the FULL-res HDR target: box-average its 2×2 block (03-S15 —
|
|
@@ -55,6 +76,7 @@ void main() {
|
|
|
55
76
|
float cocPx = clamp(cocMm * (u_frameHeightPx / u_sensorHeightMm), -u_maxBlurPx, u_maxBlurPx);
|
|
56
77
|
// Sky (linear Z at far) never blurs.
|
|
57
78
|
cocPx = zMm >= 9.9e5 ? 0.0 : cocPx;
|
|
79
|
+
if (u_tiltShift.w > 0.5) cocPx = tiltShiftCocPx(base, fullMax + 1);
|
|
58
80
|
o_color = vec4(color, cocPx);
|
|
59
81
|
}
|
|
60
82
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dof.glsl.js","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/shaders/dof.glsl.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"dof.glsl.js","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/shaders/dof.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,GAAG;;CAEd,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC,GAAG,MAAM;;;;;;;;;;;;EAYpD,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCjB,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC,GAAG,MAAM;;;;;;;;;;;;;;;;CAgBrD,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsClD,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,UAAU,CAAC,GAAG,MAAM;;;;;;;;;;;CAWrD,CAAC"}
|
|
@@ -13,5 +13,5 @@
|
|
|
13
13
|
* `finalColorAt` re-evaluation (`WebGL2Device.ts:3611-3631`).
|
|
14
14
|
*/
|
|
15
15
|
export declare const FINALIZE_GLSL = "#version 300 es\nprecision highp float;\nuniform sampler2D u_source;\nuniform vec2 u_texelSize;\nuniform float u_frame;\nuniform float u_grainIntensity;\nuniform float u_grainSize;\nuniform float u_grainLuminanceResponse;\nuniform float u_rcasSharpness; // 0 disables; FSR1 limit 0.25\nin vec2 v_uv;\nout vec4 outColor;\n\n\nfloat linearizeDepth(float d, float n, float f, bool ortho) {\n float z = d * 2.0 - 1.0;\n return ortho ? mix(n, f, d) : (2.0 * n * f) / (f + n - z * (f - n));\n}\n\nuvec2 pcg2d(uvec2 v) {\n v = v * 1664525u + 1013904223u;\n v.x += v.y * 1664525u;\n v.y += v.x * 1664525u;\n v ^= v >> 16u;\n v.x += v.y * 1664525u;\n v.y += v.x * 1664525u;\n v ^= v >> 16u;\n return v;\n}\n\n// Triangular-PDF dither: (rand0 + rand1 - 1) / 255 \u2192 \u00B11 LSB of 8-bit output.\nfloat triangularDither(vec2 fragCoord, float frame) {\n uvec2 seed = uvec2(fragCoord) + uvec2(uint(frame) * 747796405u);\n vec2 rand = vec2(pcg2d(seed)) / 4294967296.0;\n return (rand.x + rand.y - 1.0) / 255.0;\n}\n\n\nfloat luma709(vec3 c) { return dot(c, vec3(0.2126, 0.7152, 0.0722)); }\n\nvec3 rcas(sampler2D tex, vec2 uv, vec2 texel, float sharpness) {\n // FSR1 RCAS: single-pass adaptive sharpen over the 4-ring neighbourhood.\n vec3 e = texture(tex, uv).rgb;\n vec3 cross = (\n texture(tex, uv + vec2(0.0, -texel.y)).rgb +\n texture(tex, uv + vec2(0.0, texel.y)).rgb +\n texture(tex, uv + vec2(-texel.x, 0.0)).rgb +\n texture(tex, uv + vec2(texel.x, 0.0)).rgb\n ) * 0.25;\n float sharp = min(sharpness, 0.25);\n return clamp(e + (e - cross) * sharp, 0.0, 1.0);\n}\n\nfloat filmGrain(vec2 fragCoord, float frame, float intensity, float size, float luminanceResponse, float lumaValue) {\n uvec2 seed = uvec2(fragCoord * size) + uvec2(uint(frame) * 747796405u);\n vec2 rnd = vec2(pcg2d(seed)) / 4294967296.0;\n return (rnd.x - 0.5) * intensity * mix(1.0, 1.0 - lumaValue, luminanceResponse);\n}\n\n\nvoid main() {\n vec3 disp = u_rcasSharpness > 0.0\n ? rcas(u_source, v_uv, u_texelSize, u_rcasSharpness)\n : texture(u_source, v_uv).rgb;\n disp += filmGrain(gl_FragCoord.xy, u_frame, u_grainIntensity, u_grainSize, u_grainLuminanceResponse, luma709(disp));\n disp += triangularDither(gl_FragCoord.xy, u_frame);\n outColor = vec4(clamp(disp, 0.0, 1.0), 1.0);\n}\n";
|
|
16
|
-
export declare const FINALIZE_FXAA_FUSED_GLSL = "#version 300 es\nprecision highp float;\n// GLSL ES 3.00 has no default precision for sampler3D (CI: \"'sampler3D' : No precision specified\").\nprecision highp sampler3D;\n#define AURA_LUMA_ALPHA 1\nuniform sampler2D u_source;\nuniform sampler3D u_lut3d;\nuniform int u_hasLut;\nuniform vec2 u_texelSize;\nuniform vec2 u_outputTexel;\nuniform float u_frame;\nuniform float u_grainIntensity;\nuniform float u_grainSize;\nuniform float u_grainLuminanceResponse;\nuniform float u_vignetteIntensity;\nuniform float u_vignetteSmoothness;\nuniform float u_vignetteRoundness;\nuniform vec3 u_vignetteColor;\nuniform vec2 u_resolution;\nin vec2 v_uv;\nout vec4 outColor;\n\n// S10b inline: the FXAA taps sample the display-graded source \u2014 each tap is\n// one LUT fetch + vignette, not a re-run of the analytic grade. Forward\n// declaration so the AURA_FXAA_SAMPLE hook (inside FXAA_185_FNS_GLSL) resolves.\nvec4 sampleGraded(sampler2D tex, vec2 uv);\n#define AURA_FXAA_SAMPLE(tex, uvSample) sampleGraded(tex, uvSample)\n\n#define EDGE_STEP_COUNT 6\n#define EDGE_GUESS 8.0\n#define EDGE_STEPS 1.0, 1.5, 2.0, 2.0, 2.0, 4.0\nconst float edgeSteps[EDGE_STEP_COUNT] = float[EDGE_STEP_COUNT]( EDGE_STEPS );\n\nfloat _ContrastThreshold = 0.0312;\nfloat _RelativeThreshold = 0.063;\nfloat _SubpixelBlending = 1.0;\n\n#ifndef AURA_FXAA_SAMPLE\n#define AURA_FXAA_SAMPLE(tex, uv) texture(tex, uv)\n#endif\n\nvec4 Sample( sampler2D tex2D, vec2 uv ) {\n return AURA_FXAA_SAMPLE( tex2D, uv );\n}\n\nfloat SampleLuminance( sampler2D tex2D, vec2 uv ) {\n#if AURA_LUMA_ALPHA\n return AURA_FXAA_SAMPLE( tex2D, uv ).a;\n#else\n return dot( Sample( tex2D, uv ).rgb, vec3( 0.3, 0.59, 0.11 ) );\n#endif\n}\n\nfloat SampleLuminance( sampler2D tex2D, vec2 texSize, vec2 uv, float uOffset, float vOffset ) {\n uv += texSize * vec2(uOffset, vOffset);\n return SampleLuminance(tex2D, uv);\n}\n\nstruct LuminanceData {\n float m, n, e, s, w;\n float ne, nw, se, sw;\n float highest, lowest, contrast;\n};\n\nLuminanceData SampleLuminanceNeighborhood( sampler2D tex2D, vec2 texSize, vec2 uv ) {\n LuminanceData l;\n l.m = SampleLuminance( tex2D, uv );\n l.n = SampleLuminance( tex2D, texSize, uv, 0.0, 1.0 );\n l.e = SampleLuminance( tex2D, texSize, uv, 1.0, 0.0 );\n l.s = SampleLuminance( tex2D, texSize, uv, 0.0, -1.0 );\n l.w = SampleLuminance( tex2D, texSize, uv, -1.0, 0.0 );\n\n l.ne = SampleLuminance( tex2D, texSize, uv, 1.0, 1.0 );\n l.nw = SampleLuminance( tex2D, texSize, uv, -1.0, 1.0 );\n l.se = SampleLuminance( tex2D, texSize, uv, 1.0, -1.0 );\n l.sw = SampleLuminance( tex2D, texSize, uv, -1.0, -1.0 );\n\n l.highest = max( max( max( max( l.n, l.e ), l.s ), l.w ), l.m );\n l.lowest = min( min( min( min( l.n, l.e ), l.s ), l.w ), l.m );\n l.contrast = l.highest - l.lowest;\n return l;\n}\n\nbool ShouldSkipPixel( LuminanceData l ) {\n float threshold = max( _ContrastThreshold, _RelativeThreshold * l.highest );\n return l.contrast < threshold;\n}\n\nfloat DeterminePixelBlendFactor( LuminanceData l ) {\n float f = 2.0 * ( l.n + l.e + l.s + l.w );\n f += l.ne + l.nw + l.se + l.sw;\n f *= 1.0 / 12.0;\n f = abs( f - l.m );\n f = clamp( f / l.contrast, 0.0, 1.0 );\n\n float blendFactor = smoothstep( 0.0, 1.0, f );\n return blendFactor * blendFactor * _SubpixelBlending;\n}\n\nstruct EdgeData {\n bool isHorizontal;\n float pixelStep;\n float oppositeLuminance, gradient;\n};\n\nEdgeData DetermineEdge( vec2 texSize, LuminanceData l ) {\n EdgeData e;\n float horizontal =\n abs( l.n + l.s - 2.0 * l.m ) * 2.0 +\n abs( l.ne + l.se - 2.0 * l.e ) +\n abs( l.nw + l.sw - 2.0 * l.w );\n float vertical =\n abs( l.e + l.w - 2.0 * l.m ) * 2.0 +\n abs( l.ne + l.nw - 2.0 * l.n ) +\n abs( l.se + l.sw - 2.0 * l.s );\n e.isHorizontal = horizontal >= vertical;\n\n float pLuminance = e.isHorizontal ? l.n : l.e;\n float nLuminance = e.isHorizontal ? l.s : l.w;\n float pGradient = abs( pLuminance - l.m );\n float nGradient = abs( nLuminance - l.m );\n\n e.pixelStep = e.isHorizontal ? texSize.y : texSize.x;\n\n if (pGradient < nGradient) {\n e.pixelStep = -e.pixelStep;\n e.oppositeLuminance = nLuminance;\n e.gradient = nGradient;\n } else {\n e.oppositeLuminance = pLuminance;\n e.gradient = pGradient;\n }\n\n return e;\n}\n\nfloat DetermineEdgeBlendFactor( sampler2D tex2D, vec2 texSize, LuminanceData l, EdgeData e, vec2 uv ) {\n vec2 uvEdge = uv;\n vec2 edgeStep;\n if (e.isHorizontal) {\n uvEdge.y += e.pixelStep * 0.5;\n edgeStep = vec2( texSize.x, 0.0 );\n } else {\n uvEdge.x += e.pixelStep * 0.5;\n edgeStep = vec2( 0.0, texSize.y );\n }\n\n float edgeLuminance = ( l.m + e.oppositeLuminance ) * 0.5;\n float gradientThreshold = e.gradient * 0.25;\n\n vec2 puv = uvEdge + edgeStep * edgeSteps[0];\n float pLuminanceDelta = SampleLuminance( tex2D, puv ) - edgeLuminance;\n bool pAtEnd = abs( pLuminanceDelta ) >= gradientThreshold;\n\n for ( int i = 1; i < EDGE_STEP_COUNT && !pAtEnd; i++ ) {\n puv += edgeStep * edgeSteps[i];\n pLuminanceDelta = SampleLuminance( tex2D, puv ) - edgeLuminance;\n pAtEnd = abs( pLuminanceDelta ) >= gradientThreshold;\n }\n\n if ( !pAtEnd ) {\n puv += edgeStep * EDGE_GUESS;\n }\n\n vec2 nuv = uvEdge - edgeStep * edgeSteps[0];\n float nLuminanceDelta = SampleLuminance( tex2D, nuv ) - edgeLuminance;\n bool nAtEnd = abs( nLuminanceDelta ) >= gradientThreshold;\n\n for ( int i = 1; i < EDGE_STEP_COUNT && !nAtEnd; i++ ) {\n nuv -= edgeStep * edgeSteps[i];\n nLuminanceDelta = SampleLuminance( tex2D, nuv ) - edgeLuminance;\n nAtEnd = abs( nLuminanceDelta ) >= gradientThreshold;\n }\n\n if ( !nAtEnd ) {\n nuv -= edgeStep * EDGE_GUESS;\n }\n\n float pDistance, nDistance;\n if ( e.isHorizontal ) {\n pDistance = puv.x - uv.x;\n nDistance = uv.x - nuv.x;\n } else {\n pDistance = puv.y - uv.y;\n nDistance = uv.y - nuv.y;\n }\n\n float shortestDistance;\n bool deltaSign;\n if ( pDistance <= nDistance ) {\n shortestDistance = pDistance;\n deltaSign = pLuminanceDelta >= 0.0;\n } else {\n shortestDistance = nDistance;\n deltaSign = nLuminanceDelta >= 0.0;\n }\n\n if ( deltaSign == ( l.m - edgeLuminance >= 0.0 ) ) {\n return 0.0;\n }\n\n return 0.5 - shortestDistance / ( pDistance + nDistance );\n}\n\nvec4 ApplyFXAA( sampler2D tex2D, vec2 texSize, vec2 uv ) {\n LuminanceData luminance = SampleLuminanceNeighborhood( tex2D, texSize, uv );\n if ( ShouldSkipPixel( luminance ) ) {\n return Sample( tex2D, uv );\n }\n\n float pixelBlend = DeterminePixelBlendFactor( luminance );\n EdgeData edge = DetermineEdge( texSize, luminance );\n float edgeBlend = DetermineEdgeBlendFactor( tex2D, texSize, luminance, edge, uv );\n float finalBlend = max( pixelBlend, edgeBlend );\n\n if (edge.isHorizontal) {\n uv.y += edge.pixelStep * finalBlend;\n } else {\n uv.x += edge.pixelStep * finalBlend;\n }\n\n return Sample( tex2D, uv );\n}\n\n\n\nfloat linearizeDepth(float d, float n, float f, bool ortho) {\n float z = d * 2.0 - 1.0;\n return ortho ? mix(n, f, d) : (2.0 * n * f) / (f + n - z * (f - n));\n}\n\nuvec2 pcg2d(uvec2 v) {\n v = v * 1664525u + 1013904223u;\n v.x += v.y * 1664525u;\n v.y += v.x * 1664525u;\n v ^= v >> 16u;\n v.x += v.y * 1664525u;\n v.y += v.x * 1664525u;\n v ^= v >> 16u;\n return v;\n}\n\n// Triangular-PDF dither: (rand0 + rand1 - 1) / 255 \u2192 \u00B11 LSB of 8-bit output.\nfloat triangularDither(vec2 fragCoord, float frame) {\n uvec2 seed = uvec2(fragCoord) + uvec2(uint(frame) * 747796405u);\n vec2 rand = vec2(pcg2d(seed)) / 4294967296.0;\n return (rand.x + rand.y - 1.0) / 255.0;\n}\n\n\nfloat luma709(vec3 c) { return dot(c, vec3(0.2126, 0.7152, 0.0722)); }\n\nvec3 rcas(sampler2D tex, vec2 uv, vec2 texel, float sharpness) {\n // FSR1 RCAS: single-pass adaptive sharpen over the 4-ring neighbourhood.\n vec3 e = texture(tex, uv).rgb;\n vec3 cross = (\n texture(tex, uv + vec2(0.0, -texel.y)).rgb +\n texture(tex, uv + vec2(0.0, texel.y)).rgb +\n texture(tex, uv + vec2(-texel.x, 0.0)).rgb +\n texture(tex, uv + vec2(texel.x, 0.0)).rgb\n ) * 0.25;\n float sharp = min(sharpness, 0.25);\n return clamp(e + (e - cross) * sharp, 0.0, 1.0);\n}\n\nfloat filmGrain(vec2 fragCoord, float frame, float intensity, float size, float luminanceResponse, float lumaValue) {\n uvec2 seed = uvec2(fragCoord * size) + uvec2(uint(frame) * 747796405u);\n vec2 rnd = vec2(pcg2d(seed)) / 4294967296.0;\n return (rnd.x - 0.5) * intensity * mix(1.0, 1.0 - lumaValue, luminanceResponse);\n}\n\n\nvec4 sampleGraded(sampler2D tex, vec2 uv) {\n vec4 c = texture(tex, uv);\n vec3 disp = c.rgb;\n if (u_hasLut != 0) {\n disp =
|
|
16
|
+
export declare const FINALIZE_FXAA_FUSED_GLSL = "#version 300 es\nprecision highp float;\n// GLSL ES 3.00 has no default precision for sampler3D (CI: \"'sampler3D' : No precision specified\").\nprecision highp sampler3D;\n#define AURA_LUMA_ALPHA 1\nuniform sampler2D u_source;\nuniform sampler3D u_lut3d;\nuniform int u_hasLut;\nuniform vec2 u_texelSize;\nuniform vec2 u_outputTexel;\nuniform float u_frame;\nuniform float u_grainIntensity;\nuniform float u_grainSize;\nuniform float u_grainLuminanceResponse;\nuniform float u_vignetteIntensity;\nuniform float u_vignetteSmoothness;\nuniform float u_vignetteRoundness;\nuniform vec3 u_vignetteColor;\nuniform vec2 u_resolution;\nin vec2 v_uv;\nout vec4 outColor;\n\n// S10b inline: the FXAA taps sample the display-graded source \u2014 each tap is\n// one LUT fetch + vignette, not a re-run of the analytic grade. Forward\n// declaration so the AURA_FXAA_SAMPLE hook (inside FXAA_185_FNS_GLSL) resolves.\nvec4 sampleGraded(sampler2D tex, vec2 uv);\n#define AURA_FXAA_SAMPLE(tex, uvSample) sampleGraded(tex, uvSample)\n\n#define EDGE_STEP_COUNT 6\n#define EDGE_GUESS 8.0\n#define EDGE_STEPS 1.0, 1.5, 2.0, 2.0, 2.0, 4.0\nconst float edgeSteps[EDGE_STEP_COUNT] = float[EDGE_STEP_COUNT]( EDGE_STEPS );\n\nfloat _ContrastThreshold = 0.0312;\nfloat _RelativeThreshold = 0.063;\nfloat _SubpixelBlending = 1.0;\n\n#ifndef AURA_FXAA_SAMPLE\n#define AURA_FXAA_SAMPLE(tex, uv) texture(tex, uv)\n#endif\n\nvec4 Sample( sampler2D tex2D, vec2 uv ) {\n return AURA_FXAA_SAMPLE( tex2D, uv );\n}\n\nfloat SampleLuminance( sampler2D tex2D, vec2 uv ) {\n#if AURA_LUMA_ALPHA\n return AURA_FXAA_SAMPLE( tex2D, uv ).a;\n#else\n return dot( Sample( tex2D, uv ).rgb, vec3( 0.3, 0.59, 0.11 ) );\n#endif\n}\n\nfloat SampleLuminance( sampler2D tex2D, vec2 texSize, vec2 uv, float uOffset, float vOffset ) {\n uv += texSize * vec2(uOffset, vOffset);\n return SampleLuminance(tex2D, uv);\n}\n\nstruct LuminanceData {\n float m, n, e, s, w;\n float ne, nw, se, sw;\n float highest, lowest, contrast;\n};\n\nLuminanceData SampleLuminanceNeighborhood( sampler2D tex2D, vec2 texSize, vec2 uv ) {\n LuminanceData l;\n l.m = SampleLuminance( tex2D, uv );\n l.n = SampleLuminance( tex2D, texSize, uv, 0.0, 1.0 );\n l.e = SampleLuminance( tex2D, texSize, uv, 1.0, 0.0 );\n l.s = SampleLuminance( tex2D, texSize, uv, 0.0, -1.0 );\n l.w = SampleLuminance( tex2D, texSize, uv, -1.0, 0.0 );\n\n l.ne = SampleLuminance( tex2D, texSize, uv, 1.0, 1.0 );\n l.nw = SampleLuminance( tex2D, texSize, uv, -1.0, 1.0 );\n l.se = SampleLuminance( tex2D, texSize, uv, 1.0, -1.0 );\n l.sw = SampleLuminance( tex2D, texSize, uv, -1.0, -1.0 );\n\n l.highest = max( max( max( max( l.n, l.e ), l.s ), l.w ), l.m );\n l.lowest = min( min( min( min( l.n, l.e ), l.s ), l.w ), l.m );\n l.contrast = l.highest - l.lowest;\n return l;\n}\n\nbool ShouldSkipPixel( LuminanceData l ) {\n float threshold = max( _ContrastThreshold, _RelativeThreshold * l.highest );\n return l.contrast < threshold;\n}\n\nfloat DeterminePixelBlendFactor( LuminanceData l ) {\n float f = 2.0 * ( l.n + l.e + l.s + l.w );\n f += l.ne + l.nw + l.se + l.sw;\n f *= 1.0 / 12.0;\n f = abs( f - l.m );\n f = clamp( f / l.contrast, 0.0, 1.0 );\n\n float blendFactor = smoothstep( 0.0, 1.0, f );\n return blendFactor * blendFactor * _SubpixelBlending;\n}\n\nstruct EdgeData {\n bool isHorizontal;\n float pixelStep;\n float oppositeLuminance, gradient;\n};\n\nEdgeData DetermineEdge( vec2 texSize, LuminanceData l ) {\n EdgeData e;\n float horizontal =\n abs( l.n + l.s - 2.0 * l.m ) * 2.0 +\n abs( l.ne + l.se - 2.0 * l.e ) +\n abs( l.nw + l.sw - 2.0 * l.w );\n float vertical =\n abs( l.e + l.w - 2.0 * l.m ) * 2.0 +\n abs( l.ne + l.nw - 2.0 * l.n ) +\n abs( l.se + l.sw - 2.0 * l.s );\n e.isHorizontal = horizontal >= vertical;\n\n float pLuminance = e.isHorizontal ? l.n : l.e;\n float nLuminance = e.isHorizontal ? l.s : l.w;\n float pGradient = abs( pLuminance - l.m );\n float nGradient = abs( nLuminance - l.m );\n\n e.pixelStep = e.isHorizontal ? texSize.y : texSize.x;\n\n if (pGradient < nGradient) {\n e.pixelStep = -e.pixelStep;\n e.oppositeLuminance = nLuminance;\n e.gradient = nGradient;\n } else {\n e.oppositeLuminance = pLuminance;\n e.gradient = pGradient;\n }\n\n return e;\n}\n\nfloat DetermineEdgeBlendFactor( sampler2D tex2D, vec2 texSize, LuminanceData l, EdgeData e, vec2 uv ) {\n vec2 uvEdge = uv;\n vec2 edgeStep;\n if (e.isHorizontal) {\n uvEdge.y += e.pixelStep * 0.5;\n edgeStep = vec2( texSize.x, 0.0 );\n } else {\n uvEdge.x += e.pixelStep * 0.5;\n edgeStep = vec2( 0.0, texSize.y );\n }\n\n float edgeLuminance = ( l.m + e.oppositeLuminance ) * 0.5;\n float gradientThreshold = e.gradient * 0.25;\n\n vec2 puv = uvEdge + edgeStep * edgeSteps[0];\n float pLuminanceDelta = SampleLuminance( tex2D, puv ) - edgeLuminance;\n bool pAtEnd = abs( pLuminanceDelta ) >= gradientThreshold;\n\n for ( int i = 1; i < EDGE_STEP_COUNT && !pAtEnd; i++ ) {\n puv += edgeStep * edgeSteps[i];\n pLuminanceDelta = SampleLuminance( tex2D, puv ) - edgeLuminance;\n pAtEnd = abs( pLuminanceDelta ) >= gradientThreshold;\n }\n\n if ( !pAtEnd ) {\n puv += edgeStep * EDGE_GUESS;\n }\n\n vec2 nuv = uvEdge - edgeStep * edgeSteps[0];\n float nLuminanceDelta = SampleLuminance( tex2D, nuv ) - edgeLuminance;\n bool nAtEnd = abs( nLuminanceDelta ) >= gradientThreshold;\n\n for ( int i = 1; i < EDGE_STEP_COUNT && !nAtEnd; i++ ) {\n nuv -= edgeStep * edgeSteps[i];\n nLuminanceDelta = SampleLuminance( tex2D, nuv ) - edgeLuminance;\n nAtEnd = abs( nLuminanceDelta ) >= gradientThreshold;\n }\n\n if ( !nAtEnd ) {\n nuv -= edgeStep * EDGE_GUESS;\n }\n\n float pDistance, nDistance;\n if ( e.isHorizontal ) {\n pDistance = puv.x - uv.x;\n nDistance = uv.x - nuv.x;\n } else {\n pDistance = puv.y - uv.y;\n nDistance = uv.y - nuv.y;\n }\n\n float shortestDistance;\n bool deltaSign;\n if ( pDistance <= nDistance ) {\n shortestDistance = pDistance;\n deltaSign = pLuminanceDelta >= 0.0;\n } else {\n shortestDistance = nDistance;\n deltaSign = nLuminanceDelta >= 0.0;\n }\n\n if ( deltaSign == ( l.m - edgeLuminance >= 0.0 ) ) {\n return 0.0;\n }\n\n return 0.5 - shortestDistance / ( pDistance + nDistance );\n}\n\nvec4 ApplyFXAA( sampler2D tex2D, vec2 texSize, vec2 uv ) {\n LuminanceData luminance = SampleLuminanceNeighborhood( tex2D, texSize, uv );\n if ( ShouldSkipPixel( luminance ) ) {\n return Sample( tex2D, uv );\n }\n\n float pixelBlend = DeterminePixelBlendFactor( luminance );\n EdgeData edge = DetermineEdge( texSize, luminance );\n float edgeBlend = DetermineEdgeBlendFactor( tex2D, texSize, luminance, edge, uv );\n float finalBlend = max( pixelBlend, edgeBlend );\n\n if (edge.isHorizontal) {\n uv.y += edge.pixelStep * finalBlend;\n } else {\n uv.x += edge.pixelStep * finalBlend;\n }\n\n return Sample( tex2D, uv );\n}\n\n\n\nfloat linearizeDepth(float d, float n, float f, bool ortho) {\n float z = d * 2.0 - 1.0;\n return ortho ? mix(n, f, d) : (2.0 * n * f) / (f + n - z * (f - n));\n}\n\nuvec2 pcg2d(uvec2 v) {\n v = v * 1664525u + 1013904223u;\n v.x += v.y * 1664525u;\n v.y += v.x * 1664525u;\n v ^= v >> 16u;\n v.x += v.y * 1664525u;\n v.y += v.x * 1664525u;\n v ^= v >> 16u;\n return v;\n}\n\n// Triangular-PDF dither: (rand0 + rand1 - 1) / 255 \u2192 \u00B11 LSB of 8-bit output.\nfloat triangularDither(vec2 fragCoord, float frame) {\n uvec2 seed = uvec2(fragCoord) + uvec2(uint(frame) * 747796405u);\n vec2 rand = vec2(pcg2d(seed)) / 4294967296.0;\n return (rand.x + rand.y - 1.0) / 255.0;\n}\n\n\nfloat luma709(vec3 c) { return dot(c, vec3(0.2126, 0.7152, 0.0722)); }\n\nvec3 rcas(sampler2D tex, vec2 uv, vec2 texel, float sharpness) {\n // FSR1 RCAS: single-pass adaptive sharpen over the 4-ring neighbourhood.\n vec3 e = texture(tex, uv).rgb;\n vec3 cross = (\n texture(tex, uv + vec2(0.0, -texel.y)).rgb +\n texture(tex, uv + vec2(0.0, texel.y)).rgb +\n texture(tex, uv + vec2(-texel.x, 0.0)).rgb +\n texture(tex, uv + vec2(texel.x, 0.0)).rgb\n ) * 0.25;\n float sharp = min(sharpness, 0.25);\n return clamp(e + (e - cross) * sharp, 0.0, 1.0);\n}\n\nfloat filmGrain(vec2 fragCoord, float frame, float intensity, float size, float luminanceResponse, float lumaValue) {\n uvec2 seed = uvec2(fragCoord * size) + uvec2(uint(frame) * 747796405u);\n vec2 rnd = vec2(pcg2d(seed)) / 4294967296.0;\n return (rnd.x - 0.5) * intensity * mix(1.0, 1.0 - lumaValue, luminanceResponse);\n}\n\nuniform int u_lutLattice;\nuniform float u_lutBypass;\nvec3 a3dDisplayLut(vec3 disp) {\n vec3 lutCoord = clamp(disp, 0.0, 1.0);\n if (u_lutLattice != 0) {\n vec3 lutSize = vec3(textureSize(u_lut3d, 0));\n lutCoord = lutCoord * ((lutSize - 1.0) / lutSize) + 0.5 / lutSize;\n }\n return mix(texture(u_lut3d, lutCoord).rgb, disp, u_lutBypass);\n}\n\nvec4 sampleGraded(sampler2D tex, vec2 uv) {\n vec4 c = texture(tex, uv);\n vec3 disp = c.rgb;\n if (u_hasLut != 0) {\n disp = a3dDisplayLut(disp);\n }\n if (u_vignetteIntensity > 0.0) {\n vec2 p = (uv - 0.5) * 2.0;\n p.x *= (u_resolution.x / u_resolution.y) * u_vignetteRoundness;\n float len = length(p) * u_vignetteIntensity;\n disp *= mix(vec3(1.0), u_vignetteColor, pow(clamp(len, 0.0, 1.0), u_vignetteSmoothness));\n }\n return vec4(disp, luma709(disp));\n}\n\nvoid main() {\n vec2 uv = gl_FragCoord.xy * u_outputTexel;\n vec4 color = ApplyFXAA(u_source, u_texelSize, uv);\n vec3 disp = color.rgb;\n disp += filmGrain(gl_FragCoord.xy, u_frame, u_grainIntensity, u_grainSize, u_grainLuminanceResponse, luma709(disp));\n disp += triangularDither(gl_FragCoord.xy, u_frame);\n outColor = vec4(clamp(disp, 0.0, 1.0), 1.0);\n}\n";
|
|
17
17
|
//# sourceMappingURL=finalize.glsl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finalize.glsl.d.ts","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/shaders/finalize.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"finalize.glsl.d.ts","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/shaders/finalize.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA6BH,eAAO,MAAM,aAAa,owEAuBzB,CAAC;AAEF,eAAO,MAAM,wBAAwB,sjTAwDpC,CAAC"}
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import { POST_COMMON_GLSL } from "./common.glsl.js";
|
|
16
16
|
import { FXAA_185_FNS_GLSL } from "./fxaa.glsl.js";
|
|
17
|
+
import { DISPLAY_LUT_FETCH_GLSL } from "./displayGrade.glsl.js";
|
|
17
18
|
const FINALIZE_FNS_GLSL = /* glsl */ `
|
|
18
19
|
float luma709(vec3 c) { return dot(c, vec3(0.2126, 0.7152, 0.0722)); }
|
|
19
20
|
|
|
@@ -92,12 +93,12 @@ ${FXAA_185_FNS_GLSL}
|
|
|
92
93
|
|
|
93
94
|
${POST_COMMON_GLSL}
|
|
94
95
|
${FINALIZE_FNS_GLSL}
|
|
95
|
-
|
|
96
|
+
${DISPLAY_LUT_FETCH_GLSL}
|
|
96
97
|
vec4 sampleGraded(sampler2D tex, vec2 uv) {
|
|
97
98
|
vec4 c = texture(tex, uv);
|
|
98
99
|
vec3 disp = c.rgb;
|
|
99
100
|
if (u_hasLut != 0) {
|
|
100
|
-
disp =
|
|
101
|
+
disp = a3dDisplayLut(disp);
|
|
101
102
|
}
|
|
102
103
|
if (u_vignetteIntensity > 0.0) {
|
|
103
104
|
vec2 p = (uv - 0.5) * 2.0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finalize.glsl.js","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/shaders/finalize.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"finalize.glsl.js","sourceRoot":"","sources":["../../../../../../packages/rendering/src/post/shaders/finalize.glsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,MAAM,iBAAiB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;CAqBpC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;;;;;;;;;;;;EAYtC,gBAAgB;EAChB,iBAAiB;;;;;;;;;;CAUlB,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BjD,iBAAiB;;EAEjB,gBAAgB;EAChB,iBAAiB;EACjB,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;CAwBvB,CAAC"}
|