Vulkan toy renderer written in C++. Based on previous experience with Vulkan. The aim of this project is to combine lessons learned in previous renderers into a high quality renderer.
- Automatic descriptor layout / set / pool management
- Descriptor layout builder
- Descriptor set manager w/ layout cache for reuse
- Allocate from manager w/ automatic pool realloc and reset per frame
- OBJ mesh loading
- Texture mapping
- automatic mipmap generation
- ImGui support
- Virtual camera support
- Perspective camera
- Orthographic camera
- Camera controller
- Scene loading (Assimp)
- Camera loading
- Lights
- Sun light (directional)
- Multiple lights
- Point
- Directional
- Shadow mapped lights
- Skybox
- Render pipeline
- Shadow mapping pass
- Depth prepass
- Forward opaque pass
- Transparency pass
- PBR materials
- Animations
- Linear skinning
- Blend shapes
- DQ skinning
- Volumetric clouds (raymarched)
