ENH: shadows, bloom, shader options
Features:
- ENH: (Vulkan) Added shadows for directional lights:
- These use simple filtering, so they may not look the best
- You can turn them on/off on a per-light basis and also a per-object basis (both for casting and receiving shadows)
- Uses a texture array so it only uses a single texture slot. The downside is that all of the texture maps are the same size.
- You can have up to your device's limits of texture arrays (so at least 256 shadow maps, but you really shouldn't get there). Considering there's a limit of 16 lights at the moment, I'm not sure you can even attempt this.
- ENH: (Vulkan) Added bloom effect
- ENH: (VTK and Vulkan) Added emissivity, which is basically how much light an object emits (e.g., a light bulb would have a high emissivity)
- ENH: (VTK and Vulkan) Changed the behavior of diffuse color. You can now apply a diffuse color AND a diffuse texture at the same time (multiplicative blending).
- ENH: (Vulkan) Added image-based lighting
- ENH: (Vulkan) Added HBAO
- ENH: (Vulkan) Redesigned the memory manager to be much more efficient
- ENH: (Vulkan) Added fullscreen mode and the ability to set the window size. Removed window resizing.
Bug fixes:
- FIX: (Vulkan) Fixed precision errors in PBR shaders
- FIX: (Vulkan) Crash on window close now fixed, can run multiple examples back-to-back now
Note: you may need to update your VulkanSDK and driver to 1.0.65 because there seems to have been a bug with the validation layer that prevented image arrays from working properly