Integrate SSAO into deferred Vulkan pipeline#1
Conversation
Run SSAO only in the dedicated render stage to prevent redundant work and keep the deferred pass order deterministic. Made-with: Cursor
Bind the SSAO blur texture in the GBuffer input set and apply it to ambient lighting so the SSAO pass affects final shading. Made-with: Cursor
Decode octahedral normals explicitly and use consistent Vulkan clip-space reconstruction so SSAO sampling behaves deterministically. Made-with: Cursor
Replace the placeholder noise upload with a real GPU texture upload path so SSAO sampling has valid per-pixel noise input. Made-with: Cursor
Keep SSAO samplers alive across frames and track raw/blur texture resource states explicitly to avoid descriptor and layout validation hazards. Made-with: Cursor
Remove stale implementation comments and redundant shadow UBO upload so the frame pass logic stays concise and predictable. Made-with: Cursor
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
📝 WalkthroughWalkthroughThe PR refactors the SSAO (Screen Space Ambient Occlusion) implementation to use GLSL 450 descriptor-set bindings and structured uniform blocks, adds octahedral normal decoding, modularizes kernel sampling parameters, integrates SSAO output into deferred lighting, and implements resource state tracking with explicit texture barriers in the renderer. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment Tip CodeRabbit can generate a title for your PR based on the changes.Add |
|




Summary
vk_lighting.frag.Test plan
cmake --build build --target horizon_gamecmake --build buildbuild/bin/horizon_game.exefor smoke verificationctest --test-dir build --output-on-failure(74/76 pass; existing failures:ShaderCompiler reports syntax errors,LinearArena basic operations)Summary by CodeRabbit
New Features
Improvements