Implement selective emissive bloom in the HDR client renderer
Implement the researched selective bloom pipeline in PRK.Client. Scope: - Export explicit authored emission and additive effects into a scene-linear HDR attachment without blooming ordinary lighting, sky, overlays, or UI. - Build a stable half-resolution downsample/upsample bloom pyramid after translucency. - Composite bloom before the existing AgX SDR display transform and before SMAA. - Integrate resource ownership, resize handling, shader packaging, profiling, and Vulkan format validation. Acceptance criteria: - Authored emissive texture regions and emissive colours bloom; ordinary bright surfaces do not. - Additive effects contribute while regular alpha effects remain excluded. - Bloom is filtered in HDR and composed before tone mapping. - Sky, display overlays, and UI remain excluded. - Resize and shutdown paths release all bloom resources correctly. - Shader compilation, relevant unit/integration tests, and a validation-layer Vulkan smoke test pass. Outcome: Implemented a selective scene-linear emission attachment and a Karis-prefiltered 13-tap downsample / tent-upsample bloom pyramid composed before AgX and SMAA. Authored emissive material terms and additive effects contribute; ordinary lighting, sky, alpha effects, overlays, and UI do not. Underwater attenuation is applied before bloom scattering. Added live Off/Low/High quality selection to the F12 Graphics menu with persistence, presets, and PRK_BLOOM override support. Integrated resize, teardown, profiling, shader packaging, resource ownership tests, and an isolated synchronization-validation Vulkan test. Build, shader compilation, focused unit/UI tests, and affected validation-layer tests pass. Pull request: #2659 — https://git.project-rk.com/prk/engines/pulls/2659 Review correction: updated the SMAA fixture with the required binding-2 black bloom sampler; all four non-benchmark SMAA Vulkan tests passed with validation enabled.
Checklist
3 of 3 complete- Export selective emission through opaque, transparent, and additive render paths
- Implement and integrate the HDR bloom pyramid, composition, resize, and cleanup paths
- Add regression coverage and pass shader, managed, and Vulkan validation
- Area
- Project Rubi-Ka
- Project
- engines
- Kind
- Feature
- Priority
- High
- Task ID
tsk_sfhdtmzsr2- Updated