C++ Vulkan

Open-source C++ projects categorized as Vulkan

Top 23 C++ Vulkan Projects

  • GitHub repo bgfx

    Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.

    Project mention: Some questions about graphics in a 2D isometric game (engine) | reddit.com/r/gamedev | 2021-01-18

    Maybe bgfx is what you're looking for? They have an SDL section in the docs.

  • GitHub repo dxvk

    Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine

    Project mention: Valheim - Benchmark Linux vs Windows - Ryzen R5 4500U - Why cant we use Vulkan under windows :/ | reddit.com/r/valheim | 2021-02-24
  • Scout

    Get performance insights in less than 4 minutes. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.

  • GitHub repo Vulkan

    Examples and demos for the new Vulkan API

    Project mention: Realistic frame rate | reddit.com/r/vulkan | 2021-01-13

    I didn't look into the example code in depth, but looking at the code in VulkanSwapChain.cpp the create function does use VK_PRESENT_MODE_IMMEDIATE_KHR (or rather, VK_PRESENT_MODE_MAILBOX_KHR if it's supported) by default, i.e. if you set vsync to false or not set it at all.

  • GitHub repo GLM

    OpenGL Mathematics (GLM)

    Project mention: Nyx: 3rd party libraries | dev.to | 2021-01-13

    glm [link]

  • GitHub repo xenia

    Xbox 360 Emulator Research Project

    Project mention: Vita3K - Showcase with some of the latest improvements (PS Vita emulator) | reddit.com/r/emulation | 2021-02-19

    Xenia exists and plays some 7th gen games better than RPCS3 does.

  • GitHub repo Waifu2x-Extension-GUI

    Image, GIF and Video enlarger(Super Resolution) and Video frame interpolation. Achieved with Waifu2x, SRMD, RealSR, Anime4K, RIFE, CAIN and ACNet.

    Project mention: I used AI Up-Scaling to 4k the Spice And Wolf Anime Opening. | reddit.com/r/SpiceandWolf | 2021-02-03

    I used Waifu2x Extension GUI with the Waifu2x ncnn vulkan engine to do the up-scaling. The source is direct lossless from the blue-ray which is parsed to png at 100 quality and then fed through the neural network.

  • GitHub repo magnum

    Lightweight and modular C++11 graphics middleware for games and data visualization

    Project mention: Best Vulkan wrapper / low-level graphics library? | reddit.com/r/GraphicsProgramming | 2021-02-09

    (Sorry for a self-promo, hope that's fine.) If you don't mind being an early adopter and use something that's still undergoing heavy development and is not complete yet, I'm building a low-level Vulkan wrapper in Magnum. If you aren't familiar with Magnum yet, it's a C++11 library that has (among other things) a thin OpenGL/GLES/WebGL wrapper that removes the platform-specific extension hell and most of the boilerplate while still allowing you to work with the raw APIs if you need ... and the same is now being done for Vulkan.

  • GitHub repo The-Forge

    The Forge Cross-Platform Rendering Framework PC, Linux, Ray Tracing, macOS / iOS, Android, XBOX, PS4, PS5, Switch, Stadia

    Project mention: What Enginetooling Was Used To Create Hades | reddit.com/r/HadesTheGame | 2021-02-11
  • GitHub repo MangoHud

    A Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more. Discord: https://discordapp.com/invite/Gj5YmBb

    Project mention: setcap not working with Proton | reddit.com/r/SteamPlay | 2021-02-21

    First, you need to disable the runtime completely as described here.

  • GitHub repo reshade

    A generic post-processing injector for games and video software.

    Project mention: If you aren't playing with ReShade, you're missing out! | reddit.com/r/cyberpunkgame | 2021-02-23

    Reshade is over at reshade.me if you're interested. I could post my specific settings if anyone wants them, but its basically just fakeHDR, vibrancy, a slightly blue tint, and sharpening.

  • GitHub repo DiligentEngine

    A modern cross-platform low-level graphics library and rendering framework

    Project mention: List of open source libraries Minecraft uses | news.ycombinator.com | 2021-01-04


  • GitHub repo duckstation

    Fast PlayStation 1 emulator for PC and Android

    Project mention: how to fix this graphic issue with duckstation. Only happens when i quick load have tried changing renderer with no change | reddit.com/r/EmulationOnAndroid | 2021-02-23

    Hi there, you can post your issue here https://github.com/stenzek/duckstation/issues

  • GitHub repo Vulkan-Samples

    One stop solution for all Vulkan samples

    Project mention: Computer freezes between compute shader submits on NVIDIA gpu | reddit.com/r/vulkan | 2021-02-06

    Maybe somebody could report if using Non-Nvidia card you experience freezes during high compute shader load? e. g. using n-body sample from https://github.com/KhronosGroup/Vulkan-Samples with 500k bodies or so.

  • GitHub repo GPCS4

    A Playstation 4 emulator just begin

    Project mention: Is There An Activefunctional Ps4 Emulator Are | reddit.com/r/Roms | 2021-01-07

    there is a legit ps4 emulator for windows but i dont think you are looking for it because it doesnt run at playable frame rate Inori/GPCS4: A Playstation 4 emulator just begin (github.com)

  • GitHub repo VulkanMemoryAllocator

    Easy to integrate Vulkan memory allocation library

    Project mention: Evaluation of my C++ project from experienced users | reddit.com/r/cpp_questions | 2021-02-22

    If you want to get better acquainted with Vulkan, I suggest you convert this code to work with vulkan.hpp. Look up the samples that come with it, also check out Sascha Willems' samples ported to hpp. Consider using VMA, naive memory allocations are pretty bad in vulkan, OTOH there's plenty of more interesting things to deal with than manually suballocating memory blocks. Also, have a look at libraries like vpp, vk-bootstrap, and vookoo, those might also help make your code more concise, thus easier to read, and refactoring stuff to use them will help you understand what's going on.

  • GitHub repo LLGL

    Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal

    Project mention: Writing game engines in c++, recommendations | reddit.com/r/learnprogramming | 2021-01-21
  • GitHub repo nvk

    Vulkan API for JavaScript/TypeScript

    Project mention: Any Node.js graphics API? | reddit.com/r/node | 2021-01-02

    You can use vulkan in nodejs for that https://github.com/maierfelix/nvk

  • GitHub repo VkFFT

    Vulkan Fast Fourier Transform library

    Project mention: VkFFT now supports Vulkan/CUDA/HIP as backend | reddit.com/r/programming | 2021-02-16

    Hello! This is another post about a big update to the GPU Fast Fourier Transform library VkFFT, which brings support for multiple backends (Vulkan/CUDA/HIP). This greatly expands the reach of VkFFT, allowing for its use on AMD MI100 and Nvidia A100 GPUs.

  • GitHub repo vk_mini_path_tracer

    A beginner-friendly Vulkan path tracing tutorial in under 300 lines of C++.

    Project mention: I’m am an beginner when it comes to openGL, and am thinking about implementation of ray tracing in my engine, and came across compute and mesh shaders. I have a few questions regarding them, so could someone please help me with these? | reddit.com/r/opengl | 2020-12-27

    NVIDIA has a couple of options for you to start learning hardware ray tracing. This requires you to use either Vulkan or Direct 3D 12, of which both are modern (i.e. low low level) APIs. In my view, you would be well-advised to budget significant amounts of time just to re-learn the traditional rasterization pipeline in Vulkan before thinking about raytracing. It took me quite a while to get up to speed on command buffers and synchronization and all the other ilk that OpenGL (mostly) doesn't ever expose. That said my colleague Neil Bickford has put together a tutorial for Vulkan raytrace extensions that does not assume prior Vulkan experience: https://github.com/nvpro-samples/vk_mini_path_tracer

  • GitHub repo vkBasalt

    a vulkan post processing layer for linux

    Project mention: Star Citizen and Reshade | reddit.com/r/linux_gaming | 2021-02-24

    You should look at using VKBASALT for some basic reshade functionality, it is what I currently use.

  • GitHub repo RayTracingInVulkan

    Implementation of Peter Shirley's Ray Tracing In One Weekend book using Vulkan and NVIDIA's RTX extension.

    Project mention: Future Ray Tracing performance on RX 6000 series | reddit.com/r/Amd | 2021-02-09
  • GitHub repo VulkanSceneGraph

    Vulkan & C++17 based Scene Graph Project

    Project mention: Visualization Libraries On Top Of Vulkan | reddit.com/r/vulkan | 2021-02-05

    Perhaps https://github.com/vsg-dev/VulkanSceneGraph will be of some interest.

  • GitHub repo vk_raytracing_tutorial_KHR

    Ray tracing examples and tutorials using VK_KHR_ray_tracing

    Project mention: Vulkan RTX intersection shaders | reddit.com/r/vulkan | 2021-01-03
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-02-24.


What are some of the best open-source Vulkan projects in C++? This list will help you:

Project Stars
1 bgfx 8,986
2 dxvk 6,008
3 Vulkan 6,005
4 GLM 4,861
5 xenia 4,675
6 Waifu2x-Extension-GUI 3,441
7 magnum 3,364
8 The-Forge 2,196
9 MangoHud 2,160
10 reshade 1,794
11 DiligentEngine 1,666
12 duckstation 1,379
13 Vulkan-Samples 1,376
14 GPCS4 1,158
15 VulkanMemoryAllocator 1,120
16 LLGL 973
17 nvk 766
18 VkFFT 591
19 vk_mini_path_tracer 583
20 vkBasalt 508
21 RayTracingInVulkan 455
22 VulkanSceneGraph 451
23 vk_raytracing_tutorial_KHR 447