Skip to content

Real-time vulkan 1.4 renderer (C++20): 100% bindless, PBR + IBL and modern design.

Notifications You must be signed in to change notification settings

Jwill724/VK_Mark-2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Features

  • Vulkan 1.4 Hybrid CPU/GPU-Driven forward renderer
  • GPUAddress table enables a 100% bindless indirect buffer system
  • Batched indirect instancing via vkCmdDrawIndexedIndirect
  • Descriptor indexing (bindless rendering)
  • PBR + IBL: Cook–Torrance GGX with Disney diffuse; split-sum IBL (prefiltered spec + BRDF LUT, irradiance)
  • GLTF asset pipeline enabled (kinda) with multithreading (EnkiTS)
  • AABB BVH culling and OBB visual debug
  • Transparent depth sorting
  • ImGui debugging tools
  • MSAA (up to 8x)
  • Cascaded shadow mapping
  • GTAO
  • SSAO
  • Ray marched volumetric lights
  • Tonemapping (ACES Film)
  • Push descriptors
  • HI-Z Generation (Depth mip pyramid)
  • Lens Flare
  • Chromatic Aberration
  • Mesh optimizer

Future

-Render graph -SDL2 integration and platform layer -Better asset management (dynamic asset loading, resource handling) -KTX texture format -Full compute async -Proper multithreading (texture loading, cmd recording) -Occlusion culling -GPU frustum culling -GPU batching and sorting -Clustered/Forward+ shading

Screenshots

Sponza Bistro Helmet Material test 1000 Ducks

Controls

  • W A S D ‐ Move forward, left, back, right
  • Space ‐ Move up
  • Ctrl ‐ Move down
  • Mouse (Left Click + Move) ‐ Look around
  • R ‐ Reset camera to spawn/origin
  • Tab ‐ Toggle ImGui editor setting
  • P ‐ Toggle rendering stats
  • Esc ‐ Exit application

Requirements for build

  • Windows 10+
  • Vulkan SDK (1.4+)
  • Visual Studio 2022

Build steps

Open project file in visual studio 2022 Cmake to be utilized in future, doesn't currently work.

For Bistro asset https://www.dropbox.com/scl/fi/aozfte8k1aewhpl7omx3r/Bistro.glb?rlkey=wmy6ep2yezcs77bidxwqeeiec&e=1&st=pxnwxvpe&dl=0

About

Real-time vulkan 1.4 renderer (C++20): 100% bindless, PBR + IBL and modern design.

Topics

Resources

Stars

Watchers

Forks

Languages