Skip to content

awhb/Vulkan-Sandbox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

Vulkan rendering engine prototype made with Vulkan 1.4, meant as an iterative experimental sandbox to learn best practices for Vulkan, engine architecture and low-level graphics programming. Code is forked with significant changes from a Khronos Group Vulkan tutorial. Project is written for the C++20 standard and is meant to be cross-platform. Currently, the code is tested only on macOS, using XCode generator but includes tutorial-sourced code that caters to Windows and Linux systems.

Current Features

  • Window handling with with glfw
  • Vulkan-Hpp RAII bindings for Vulkan resource management
  • Validation layer support in debug builds
  • Dynamic rendering instead of render passes and framebuffers
  • Timeline semaphores for GPU-CPU synchronization instead of fences
  • Multiple frames in flight
  • Slang shader source compiled to SPIR-V as part of CMake build
  • CMake options for Vulkan portability support on MoltenVK/macOS and optional Vulkan C++20 module usage

Installation

This project uses CMake as a build tool. Since the project is built using Vulkan, the latest Vulkan SDK is required.

Requirements

Make sure that your graphics card can support listed Vulkan features and make sure you have updated graphics card driver.

License

Distributed under the MIT License. See LICENSE for more information.

About

Experimental/educational attempt at reverse-engineering game engine following open-source Vulkan API tutorial.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors