Skip to content

milkru/vulkanizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

Rendering engine prototype made with Vulkan 1.2. Code is written using a simpler C++ coding style. Project is written for the C++11 standard and x64 system. Currently the code is tested only on Windows, using MSVC (Visual Studio) and MINGW (Visual Studio Code) compilers. Linux is not completely supported at the moment, but it should be easy to port, since all third party libraries are cross platform.

Demo

Features

  • Vulkan meta loading using volk
  • Window handling using glfw
  • Mesh loading using tinyobjloader
  • Mesh optimizations using meshoptimizer
  • Single mesh rendering
  • In-flight frames
  • CPU profiling using easy_profiler
  • GPU profiling using query timestamps and pipeline statistics
  • Programmable vertex fetching with 12 byte vertices
  • Custom Dear ImGui Vulkan backend with Performance and Settings windows
  • Automatic descriptor set layout creation with SPIRV-Reflect
  • NVidia Mesh Shading Pipeline support, with traditional pipeline still supported
  • Depth buffering with reversed-Z

Installation

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

License

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