Skip to content

burak-efe/VuMake

Repository files navigation

VuMake: A Terrible Vulkan Renderer

This is a terrible vulkan renderer, barely functioning. This renderer is meant to be prototyping space for my purposes and I would not recommend to use on any project.

Some non-optimal things in this project, that should be avioded in normal circumstances:

  • Only header files: to faster prorotyping
  • A lot of third party library usage: Im just experimenting with them
  • Excessive file count: because I like it
  • Global, static variables global context: to make prototyping faster
  • Unnecesary ECS: im just experimenting

Capabilites

  • ✅ Bindless Resources (via Descriptor indexing)
  • ✅ Imgui (docking branch)
  • ✅ Textures
  • ✅ Push Constants
  • ✅ PBR (blinn-phong)
  • ✅ ECS (via flecs)
  • ✅ Normals / Tangents
  • ✅ Normal - Bump Mappping
  • ✅ Frame Profiling (via Tracy)
Incapabilities (there is only few)
  • ❌ Deffered Rendering
  • ❌ Vulkan Sync Abstraction
  • ❌ Directional Ligths
  • ❌ Point Ligths
  • ❌ Spot Ligths
  • ❌ Area Ligths
  • ❌ Scene-Level Representation
  • ❌ Ray Traced GI
  • ❌ Path Traced Gi
  • ❌ SSGI
  • ❌ Voxel GI
  • ❌ SDFGI
  • ❌ Probe Based GI
  • ❌ DDGI
  • ❌ ReSTIR GI
  • ❌ Surfels GI
  • ❌ Radiance Cascades GI
  • ❌ Skinned Geometry
  • ❌ Animations
  • ❌ Tiled Forward Rendering
  • ❌ FXAA - TAA - SMAA - MSAA
  • ❌ FSR - DLSS - XESS
  • ❌ PSO Cache System
  • ❌ Ligth Map Baking
  • ❌ Compute Shaders
  • ❌ Subdivison Surfaces
  • ❌ Mesh Shaders
  • ❌ Shadow Maps
  • ❌ Occlusion Culling
  • ❌ Screen Space Shadows
  • ❌ LOD System
  • ❌ HDR
  • ❌ Cube Maps- Sky Maps
  • ❌ Tonemapping
  • ❌ Bloom
  • ❌ Twenty Other Post Process Effects
  • ❌ SDF - Volume Rendering
  • ❌ Debug View
  • ❌ Tessallation
  • ❌ Geometry Shaders
  • ❌ Shader Editor
  • ❌ HLSL Support
  • ❌ SSAO / HBAO
  • ❌ SSR - SSSR
  • ❌ RayTraycing
  • ❌ Sub-Surface Scattering
  • ❌ GPU Driven Rendering
  • ❌ Work Graphs
  • ❌ Visibility Buffer
  • ❌ Compute Rasterizer
  • ❌ FBX - OBJ Support
  • ❌ Font Rendering
  • ❌ Instanceing
  • ❌ Batching
  • ❌ Lens Flares
  • ❌ Particles
  • ❌ Hair Rendering
  • ❌ Texture Streaming
  • ❌ Variable Rate Shading
  • ❌ Decals
  • ❌ Frame Profiler - Debugger
  • ❌ Displacement Mapping
  • ❌ Morph Target
  • ❌ Planar Reflections
  • ❌ Volumetric Ligths
  • ❌ Water Rendering
  • ❌ Outline Shaders
  • ❌ Contact SHadows
  • ❌ Caustics
  • ❌ Render Graph

It Uses:

  • Vulkan Memory Allocator
  • IMGUI
  • FastGLTF
  • SDL3
  • GLM
  • flecs
  • SLang
  • Tracy
  • Volk

Vulkan Notes

  • TODO

How to build and run

  • have vulkan sdk
  • have some IDE that CMAKE support
  • clone the repo
  • open the project as a CMAKE project
  • hit the build button
  • done

About

Terrible Vulkan Renderer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages