SSVk is a small 3D rendering engine I started as a hobby project and learning experience to get into Vulkan development (and also the D programming language).

Albeit being primarily a learning experience, I want to create a full-fledged real-time rendering engine over time. As I just started working on it quite recently there are not too many features yet, but I constantly work on improving it. The current features include

  • basic physically based rendering (PBR) materials
  • pure ray tracing (VK_NV_ray_tracing) including
    • reflections
    • shadows (and projections)
    • transparency
    • portals
  • scene import using Assimp (only GLTF is tested yet)
  • a simple scene tree
  • some basic camera movement

Planned features include, among others:

  • post-processing (bloom, anti-aliasing, SSAO, etc.)
  • switching to VK_KHR_ray_tracing as soon as it is available
  • dynamic/animated scenes
  • custom materials
  • VR support (if the performance allows that)
  • code cleanup and some documentation
  • many other things I might feel like implementing some day

You can take a look at the source code here.