sydneyzh / variance_shadow_mapping_vk

Variance shadow mapping for omni lights with Vulkan

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Variance shadow mapping for omni lights with Vulkan

vsm_vk

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

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

About

Variance shadow mapping for omni lights with Vulkan

License:MIT License


Languages

Language:C++ 89.5%Language:GLSL 6.5%Language:CMake 2.6%Language:Python 1.4%