Skip to content

kowoa/kovra

Repository files navigation

Kovra

A Vulkan renderer I use to learn how to program (graphically).

This project is a rewrite of my older Vulkan project, vulkaning, which I wrote in Rust. The reason for this rewrite is it allows me to directly take advantage of C++'s larger software ecosystem.

Skybox Demo GIF

Features

  • Basic rendering pipeline
  • Basic material system
  • Depth testing
  • Loading and rendering 3D models
  • Camera controls (arcball)
  • Cubemapped skybox
  • Frustum culling
  • Mipmapping
  • Multisample anti-aliasing (MSAA)
  • Metallic-roughness workflow
  • Specular-glossiness workflow
  • Image-based lighting (IBL)
  • Albedo mapping
  • Normal mapping
  • Ambient Occlusion (AO) mapping
  • Emission mapping
  • Shadow mapping
  • Height/displacement mapping
  • PBR material inspector
  • Profiling stats
  • GPU buffer visualizer
  • Skeletal animation

Getting Started

Linux

Requirements:

  • CMake 3.28 or later
  • C++20 compiler
  • Vulkan 1.3 or later
  • Make for building and running the project
git clone --recurse-submodules https://github.com/kowoa/kovra.git
cd kovra
make run

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages