Skip to content

rfontao/renderer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

glTF PBR Vulkan Renderer

A Physically-Based Renderer written in C++ using the Vulkan API.

Sponza with 2 point lights: sponza_point_lights

Sponza with a directional light: sponza_point_lights

Damaged helmet: damaged_helmet

Features

  • glTF 2.0 model loading, both .gltf and .glb formats, with tinygltf
  • Physically-Based Rendering based on the glTF 2.0 specification. Supports:
    • Metallic-Roughness Textures
    • Normal textures (Normal mapping)
    • Emissive textures
    • Alpha mask
    • Multiple UV coordinates per vertex
  • Skybox rendering
  • Supports directional and point lights
  • Two different camera movements
    • Arcball
    • Free movement
  • Automatic Descriptor Set Layout creation based on shader reflection data with SPIRV-Reflect
  • Dependency management with vcpkg
  • Vulkan Dynamic Rendering
  • Scene selector UI with Imgui

TODO

  • Shadows
  • Fix max memory allocation (possibly with VMA)

Dependencies

Relevant resources

About

A PBR Vulkan Renderer for glTF 2.0 files

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages