Code Name: MipmappedShadowMaps
In this example, the mipmaps of the generated variance shadow map are created, and the shadow map LOD selection is made according to the camera's distance from the fragment. Thus, shadow mapping is done with a small shadow map size for long distances, and simple soft shadows are provided through trilinear filtering.
| Input | Action |
|---|---|
| W/A/S/D | Move the camera |
| Mouse | Look around with the camera |
| Esc | Close the window |
| 0 | Disable shadow map LOD |
| 1 | Enable shadow map LOD |
| Parameter / Key | Type | Usage in Code | Description | Default Value |
|---|---|---|---|---|
| AppSettings.ClearColor | VkClearColorValue | AppSettings::ClearColor | Background color of the screen | |
| AppSettings.MouseSensitivity | float | AppSettings::MouseSensitivity | Mouse sensitivity value | |
| AppSettings.CameraSpeed | float | AppSettings::CameraSpeed | Speed of the camera |
- Creating mipmapped variance shadow maps
- Apply trilinear filtering to the mipmapped shadow map to achieve soft shadows by distances to the camera
| Shader Type | Status | Notes |
|---|---|---|
| GLSL | ✅ | |
| HLSL | ❌ | Will be implemented. |
| Slang | ❌ | Will be implemented. |
None
Window system-dependent extensions:
- VK_KHR_surface
- VK_KHR_win32_surface (Windows)
- VK_KHR_swapchain
