C++ Vulkan

Open-source C++ projects categorized as Vulkan

Top 23 C++ Vulkan Projects

  • ncnn

    ncnn is a high-performance neural network inference framework optimized for the mobile platform

    Project mention: MMDeploy: Deploy All the Algorithms of OpenMMLab | reddit.com/r/u_Allent_pjlab | 2022-11-21


  • filament

    Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2

    Project mention: What is this C++ trick called? It looks a bit like PIMPL. | reddit.com/r/cpp_questions | 2022-10-02

    I was looking through the Google Filament repo and I noticed that the classes in include/filament use a trick I haven't seen before that hide implementation details similar to PIMPL.

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code.

  • 3d-game-shaders-for-beginners

    🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.

    Project mention: Where to find shader resources? | reddit.com/r/gamedev | 2022-03-10

    Book of Shaders 3D Game Shaders for Beginners Martin Donald Freya Holmer

  • bgfx

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

    Project mention: SDL2 or GLFW? | reddit.com/r/gamedev | 2022-11-24

    You might want to also take a look at bgfx.

  • dxvk

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

    Project mention: No more lags in Dalaran | reddit.com/r/wowservers | 2022-11-26

    This works on 3.3.5 version of client, but im sure it can be used to any version of wow, as well as to any other game. Its not only about Dalaran. Wintergrasp, BGs, raids and all of this stuff is laggy on my toster. And when i say laggy it means i have 5-15 fps, in there. and on wintergrasp its almost impossible to do something, cause it freezes for 2-3 sec and than freezes one more time and yep u dead. Imagine that 5 MB of code can double ur fps, at least in wow. Well now it became true. It is based on some vulkan technologies, and was making to linux. but it works fine for windows. After desperate 2 hours battle with github interface i finally take what i need. So u need only two files here - https://drive.google.com/drive/folders/1FjMbZq6DWIjHFVR10f59XTOf5_M9-c8v?usp=sharing get them to your wow.exe folder and thats it. Well they works for me, and may not for you, cause of different system set ups. Im using not newest version, i have some artifacts on it. For those who dont wanna download some files from a random guy, here is a link to their project https://github.com/doitsujin/dxvk/releases. And if u have some issues(the game doesnt launch or some grafik artifacts) just try download other version of it. all u need to do is click on dxvk-1.10.2.tar.gz or other version. than extract it. extract what u have one more time. go to win 32 folder(but 64 works fine too) and get two files d3d9.dll and dxgi.dll. And take them to wow.exe folder.

  • Waifu2x-Extension-GUI

    Video, Image and GIF upscale/enlarge(Super-Resolution) and Video frame interpolation. Achieved with Waifu2x, Real-ESRGAN, Real-CUGAN, SRMD, RealSR, Anime4K, RIFE, IFRNet, CAIN, DAIN, and ACNet.

    Project mention: Upscale help needed! | reddit.com/r/StableDiffusion | 2022-11-23
  • MNN

    MNN is a blazing fast, lightweight deep learning framework, battle-tested by business-critical use cases in Alibaba

    Project mention: What’s New in TensorFlow 2.10? | news.ycombinator.com | 2022-09-06

    There are a ton of mobile deployment options that support PyTorch+TF models. It's hard to argue TFLite is the best.


  • Zigi

    The context switching struggle is real. Zigi makes context switching a thing of the past. It monitors Jira and GitHub updates, pings you when PRs need approval and lets you take fast actions - all directly from Slack!

  • GLM

    OpenGL Mathematics (GLM)

    Project mention: how to include glm with cmake (and other headers / static libraries) | reddit.com/r/learnprogramming | 2022-10-02

    But now I'm kinda stuck on glm. I downloaded it from the official website and grabbed the glm subdirectory with the header files. (https://github.com/g-truc/glm/releases/tag/ It also contains a CMakeLists.txt which i should be able to include in my project CMakeLists.txt.

  • renderdoc

    RenderDoc is a stand-alone graphics debugging tool.

    Project mention: Renderdoc Crashing On glfwCreateWindow() | reddit.com/r/opengl | 2022-08-26

    Remember that Renderdoc is open source: https://github.com/baldurk/renderdoc/. This means you can build it with symbols and attach a debugger.

  • xenia

    Xbox 360 Emulator Research Project

    Project mention: xbox 360 to PC emulator?? | reddit.com/r/xbox360 | 2022-10-24

    Xenia is currently the best 360 emulator, though you'll need a pretty good PC to play most games. In regards to getting game downloads, just DM me and I'll link you a website. You shouldn't need any physical tools other than a PC and controller, or even keyboard and mouse.

  • magnum

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

    Project mention: Good graphics engines to visualize my physics framework? | reddit.com/r/gamedev | 2022-11-14

    If you want something that gives you more control you could use magnum.

  • WickedEngine

    3D engine with modern graphics

    Project mention: SDL vs Unreal | reddit.com/r/gamedev | 2022-08-14

    Code base really small because it develop by solo developer with help from some volunteer contibutors. Support DirectX12 and Vulkan. There is editor for edit and save scene file but it's not finish yet so you have to mostly add features that you want by yourself beside rendering part. https://github.com/turanszkij/WickedEngine

  • GamePlay

    Open-source, cross-platform, C++ game engine for creating 2D/3D games.

    Project mention: Libraries | reddit.com/r/cpp_questions | 2021-12-07


  • Piccolo

    Piccolo (formerly Pilot) – mini game engine for games104

    Project mention: Pilot Engine is a tiny game engine | news.ycombinator.com | 2022-06-01
  • The-Forge

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

    Project mention: Trouble picking a graphics API | reddit.com/r/GraphicsProgramming | 2022-11-21

    Windows + macOS? Use a wrapper like The Forge

  • reshade

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

    Project mention: October brings corn harvest | reddit.com/r/farmingsimulator | 2022-11-24

    Have you met my friends Relight and Reshade?

  • Vulkan-Samples

    One stop solution for all Vulkan samples

    Project mention: 5 New Vulkan Samples! | reddit.com/r/vulkan | 2022-11-21

    A transcoded version of the API sample Separate image sampler that illustrates the usage of the C++ bindings of Vulkan provided by vulkan.hpp: https://github.com/KhronosGroup/Vulkan-Samples/tree/master/samples/api/hpp_separate_image_sampler

  • VulkanTutorial

    Tutorial for the Vulkan graphics and compute API

    Project mention: vulkan-tutorial.com seems to be down | reddit.com/r/vulkan | 2022-02-07

    Yeah it seems to be down. Meanwhile you can follow the PDF/EBOOK available on their github

  • GPCS4

    A work-in-progress PlayStation 4 emulator.

    Project mention: PlayStation 4 / PlayStation 5 Emulator Kity Version 0.1.0 Released; Runs Some Commercial Games | reddit.com/r/emulation | 2022-05-26

    Open source: gpcs4, fpps4, kyty

  • SpartanEngine

    Game engine with an emphasis on architectural quality and performance

  • ShaderConductor

    ShaderConductor is a tool designed for cross-compiling HLSL to other shading languages

    Project mention: I'm sick of shader caches. The way Steam Deck handles them needs to improve: | reddit.com/r/SteamDeck | 2022-09-04
  • iree


    Project mention: PyTorch on Apple M1 Faster Than TensorFlow-Metal | news.ycombinator.com | 2022-02-22

    Exactly the kind of things we've been talking about! A fun and challenging tradeoff space and it's always great to connect with others!

    Ahh linebender - I hadn't connected the name with your github account - piet-gpu is great, as is your blog! Also, for anyone skimming the comments this talk is fantastic and I share it with anyone new to the GPGPU space: https://www.youtube.com/watch?v=DZRn_jNZjbw

    We waffled a bit with the API granularity in the beginning and it's taken building out most of the rest of the project in order to nail it down (the big refactor still pending). The biggest issue is that in simple models we'll end up emitting a single command buffer but anything with control flow (that we can't predicate), data dependencies (sparsity, thresholding, etc), or CPU work in the middle (IO, custom user code, etc) can break that up. We also hit cases where we need to flush work - such as if we run out of usable memory and need to defragment or resize our pools. We want to be able to (but aren't yet) reuse command buffers (CUDA graphs, etc) and that requires being able to both cache them and recreate them on demand (if we resize a pool we have to invalidate all cached command buffers using those resources, as update-after-bind is not universally available and if shapes change there's big ripples). Since most models beyond simple vision ones are ~thousands of dispatches it also lets us better integrate into multithreaded applications like you mention as apps can record commands for themselves in parallel without synchronization. It still would be nice to have certain operations inlined, though, and for that we want to allow custom hooks that we call into to add commands to the command buffers, turning things inside-out to make small amounts of work like image transformations in-between model layers possible (I'm really hoping we can avoid modeling the entire graphics pipeline in the compiler and this would be a way around that :). We haven't yet started on scheduling across queues but that's also very interesting especially in multi-GPU cases (with x4/x8 GPUs being common in datacenters, or NUMA CPU clusters that can be scheduled similarly).

    We're fully open source (https://github.com/google/iree) but have been operating quietly while we get the groundwork in place - it's taken some time but now we're finally starting to stumble into success on certain problem categories (like transformers as in the post). Right now it's mostly just organized as a systems/compiler nerd honeypot for people looking for an ML/number crunching framework that (purposefully) doesn't look like any of the existing ones :)

    Would love to chat more - even if just to commiserate over GPU APIs and such - everyone is welcome on the discord where a bunch of us nerds have gathered or we could grab virtual coffee (realized just now that this hn acct is ancient - I'm [email protected] :)

  • LLGL

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

  • Sonar

    Free webinar: The Power of Clean C++. Are you ready to take your C++ code to the next level? Join Sonar on December 7th for our live webinar as we discuss how to get your code clean - and stay clean - with minimal effort and without being overloaded with warnings. Register now!

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 2022-11-26.

C++ Vulkan related posts


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

Project Stars
1 ncnn 15,990
2 filament 14,888
3 3d-game-shaders-for-beginners 14,021
4 bgfx 12,392
5 dxvk 8,972
6 Waifu2x-Extension-GUI 8,411
7 MNN 7,166
8 GLM 6,954
9 renderdoc 6,886
10 xenia 6,254
11 magnum 4,258
12 WickedEngine 4,090
13 GamePlay 3,862
14 Piccolo 3,803
15 The-Forge 3,316
16 reshade 2,870
17 Vulkan-Samples 2,733
18 VulkanTutorial 2,369
19 GPCS4 1,778
20 SpartanEngine 1,541
21 ShaderConductor 1,516
22 iree 1,490
23 LLGL 1,467
Truly a developer’s best friend
Scout APM is great for developers who want to find and fix performance issues in their applications. With Scout, we'll take care of the bugs so you can focus on building great things 🚀.