https://github.com/sydneyzh/variance_shadow_mapping_vk
Variance shadow mapping for omni lights with Vulkan
https://github.com/sydneyzh/variance_shadow_mapping_vk
cubemap shadow-mapping vulkan
Last synced: 4 days ago
JSON representation
Variance shadow mapping for omni lights with Vulkan
- Host: GitHub
- URL: https://github.com/sydneyzh/variance_shadow_mapping_vk
- Owner: sydneyzh
- License: mit
- Archived: true
- Created: 2017-12-27T22:38:32.000Z (almost 8 years ago)
- Default Branch: gh-vsm-master
- Last Pushed: 2018-06-20T18:24:53.000Z (over 7 years ago)
- Last Synced: 2024-06-06T23:38:42.997Z (over 1 year ago)
- Topics: cubemap, shadow-mapping, vulkan
- Language: C++
- Homepage:
- Size: 7.68 MB
- Stars: 30
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- anything_about_game - variance_shadow_mapping_vk
README
# Variance shadow mapping for omni lights with Vulkan

Render routine:
- Render pass shadow map
- one draw call, write to one color attachment with 6 layers
- Render pass Gaussian filter (x direction)
- one draw call, write to six color attachments with single layer
- Render pass Gaussian filter (y direction)
- same as above
- Render pass on screen
A blog post discussing the details:
> [Rendering dynamic cube maps for omni light shadows with Vulkan API](http://blue2rgb.sydneyzh.com/rendering-dynamic-cube-maps-for-omni-light-shadows-with-vulkan-api.html)
Controls:
- orbit: left/right/up/down arrow keys
- pan: A/D/R/F
- forward and backward: W/S
- freeze/unfreeze light: F1
- pause animation: P