Code Monkey home page Code Monkey logo

awesome-vulkan's Introduction

Awesome Vulkan Awesome

Vulkan demo scene

A curated list of awesome Vulkan libraries, debuggers and resources. Inspired by awesome-opengl and other awesome-... stuff.

Hardware Support

SDK

Document

Tutorial

Apps

Samples

Libraries

  • 2D

    • imgui - Immediate Mode Graphical User interface. [MIT]
    • Skia - Google's 2D graphics library has a Vulkan backend, demonstrated in a cross-platform sample application with its own window library. [BSD 3-clause] website
    • VKVG - Vulkan 2D graphics library, API follows the same pattern as Cairo graphics lib, but with new functions.
  • Compute

    • libvc - Vulkan Compute for C++. [LICENSE]
    • Vulkan Kompute - Blazing fast and lightweight Vulkan Compute Framework optimized for advanced GPU processing usecases. [Apache License 2.0]
    • ncnn - High-performance neural network inference framework with Vulkan based GPU inference. [BSD 3-clause]
    • vuh - Vulkan-based C++ GPGPU computing framework. [MIT]
    • VkFFT - Efficient Vulkan FFT library [MPL-2.0 License]
  • Low Level

    • Vulkan Memory Allocator - Easy to integrate Vulkan memory allocation library from AMD. [MIT]
    • Fossilize - serialization format for various persistent Vulkan object types. [MIT]
    • vk-bootstrap - C++ utility library to jump start Vulkan development by automating instance, physical device, device, and swapchain creation. [MIT]
    • Google's vulkan-cpp-library - Vulkan abstraction library using C++11 for memory, resource management, type and thread safety as well as system independency. [Apache]
    • FrameGraph - Vulkan abstraction layer that represent frame as a task graph. [BSD 2-clause]
    • V-EZ - light-weight middleware layer for the Vulkan API targeting Professional Workstation ISVs. [MIT]
    • Vookoo - Vookoo is a set of dependency-free utilities to assist in the construction and updating of Vulkan graphics data structres. [MIT]
    • vpp - Modern C++ Vulkan Abstraction focused on performance and a straightforward interface. [MIT]
    • VulkanSceneGraph - Vulkan/C++17 scene graph project, successor to OpenSceneGraph.
    • Vulkan-WSIWindow - Multi-platform library to create a Vulkan window, and handle input events. [Apache License 2.0]
    • Screen 13 - An easy-to-use Vulkan render graph for Rust. [MIT]
  • Frameworks, Engines, Higher Level Rendering

    • Acid - A high speed C++17 Vulkan game engine. [MIT]
    • AMD's Anvil - cross-platform framework for Vulkan. [LICENSE]
    • Auto-Vk - Vulkan convenience and productivity layer for modern C++, atop Vulkan-Hpp, by the Research Unit of Computer Graphics, TU Wien. [MIT]
    • Auto-Vk-Toolkit - C++ framework around Auto-Vk for rapid prototyping, research, and teaching, by the Research Unit of Computer Graphics, TU Wien. [MIT for the framework's code]
    • bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library. [BSD-2-clause]
    • bsf - Modern C++14 library for the development of real-time graphical applications. [MIT]
    • Cinder and the story behind. [BSD]
    • DemoFramework - NXP GTEC C++11 cross-platform demo framework including lots of samples for Vulkan, OpenGL ES, OpenVX, OpenCL, OpenVG and OpenCV. [BSD-3-clause]
    • Diligent Engine - a modern cross-platform low-level graphics library that supports OpenGL/GLES, Direct3D11/12 and Vulkan. [Apache License 2.0]
    • Falcor - Real-time rendering framework from NVIDIA, supporting mainly DX12, with experimental Vulkan support. [BSD 3-clause]
    • glfw and the guide. [LICENSE]
    • Intrinsic Engine - Intrinsic is a Vulkan based cross-platform graphics and game engine. [Apache License 2.0]
    • Introductory Vulkan sample by GPUOpen. [MIT]
    • liblava - A modern C++ and easy-to-use framework. [MIT]
    • Logi - Light-weight object oriented Vulkan abstraction framework. [BSD 2-clause]
    • Lugdunum - Modern cross-platform 3D rendering engine built with Vulkan and modern C++14. [MIT]
    • openFrameworks - the most famouse C++ creative coding framework. [MIT]
    • PowerVR SDK - C++ cross-platform 3D graphics SDK to speed up development of Vulkan and GLES. [LICENSE]
    • Pumex - cross-platform Vulkan renderer implementing frame graph and simple scene graph. Able to render on many surfaces at once [MIT]
    • SDL - added cross-platform Vulkan graphics support in SDL_vulkan.h. [zlib]
    • small3d, Tiny Vulkan based C++ cross-platform game development framework [BSD 3-clause]
    • Spectrum - Work-in-progress framework and abstraction layer around Vulkan.
    • Tephra - A modern C++17 graphics and compute library filling the gap between Vulkan and high-level APIs like OpenGL. [MIT]
    • The-Forge - DirectX 12, Vulkan, macOS Metal 2 rendering framework. [Apache License 2.0]
    • VKFS - Cross-platform easy-to-use C++ framework that allows you to quickly initialize Vulkan and get a ready-made environment. Provides high-level abstraction over basic Vulkan objects.
    • VkHLF - Vulkan High Level Framework. [LICENSE]
    • Vulkan Launchpad - Vulkan framework for Windows, macOS, and Linux. Especially well-suited for Vulkan beginners, used in university education, by the Research Unit of Computer Graphics, TU Wien. [MIT]
  • Other API Interop and Implementations

    • visor - Vulkan Ignoble Software Rasterizer. [MIT]
    • VulkanOnD3D12 - Vulkan API for D3D12. [Apache License 2.0]
    • rostkatze - C++ implementation of Vulkan sitting on D3D12 🐈[Apache License 2.0]
    • VK9 - Direct3D 9 compatibility layer using Vulkan
    • VUDA - header-only lib that provides a CUDA Runtime API interface. [MIT]
    • clspv - prototype compiler for a subset of OpenCL C to Vulkan compute shaders. [Apache License 2.0]
    • MoltenVK - run Vulkan on iOS and macOS. [Apache-2.0]
    • Zink - OpenGL implementation on top of Vulkan, part of Mesa project. [MIT]
    • glo / OpenGL Overload - OpenGL implementation on top of Vulkan.
    • gfx-portability - Vulkan Portability implementation on Metal and D3D12, based on gfx-rs.
  • Raytracing

    • Quartz - Physically based Vulkan RTX path tracer with a declarative ES7-like scene description language. [LGPL-3.0]
  • Scientific

    • datoviz - High-performance GPU interactive scientific data visualization with Vulkan. [MIT]
    • iMSTK - C++ toolkit for building surgical simulations with Vulkan and VTK backends. [Apache License 2.0]
  • Shaders

    • glslang - Library for compiling glsl to spirv [BSD 3-Clause]
    • SPIRV-Cross - Library for reflection of spirv, simplify the creation of Vulkan pipeline layouts [ Apache-2.0 License]

Bindings

  • ash - Vulkan bindings for Rust. [MIT]
  • gfx-rs - A low-overhead Vulkan-like GPU API for Rust. [Apache License 2.0]
  • libvulkan.lua - Lua bindings for Vulkan.
  • dvulkan - Auto-generated D bindings for Vulkan.
  • ErupteD - Another Auto-generated D bindings for Vulkan.
  • flextGL - Minimal Vulkan header/loader generator and the blog post about it.
  • Silk.NET - C# bindings for Vulkan and others. [MIT]
  • vulkan - Haskell bindings for Vulkan and Vulkan Memory Allocator [BSD-3-Clause]
  • nvk - JavaScript bindings for Vulkan. [MIT]
  • racket-vulkan - Racket bindings for Vulkan with detailed implementation notes. [MIT]
  • Vulkan-hpp Open-Source Vulkan C++ API originated from NVIDIA and the blog about it.
  • VulkanSharp - C# bindings for Vulkan. [MIT]
  • Vulkano - Safe and rich Rust wrapper around the Vulkan API. [MIT]
  • LWJGL - Lightweight Java Game Library 3 has Vulkan bindings. [BSD]
  • SharpVk - C# bindings for Vulkan with Linq-to-SPIR-V & NuGet package. [MIT]
  • vulkan - Ultimate Python bindings for Vulkan generated with CFFI. [Apache Licence 2.0]
  • vulkan-go - Go bindings for Vulkan. [MIT]
  • PasVulkan - Vulkan bindings plus high-level wrapper library for Object Pascal [Zlib]
  • vulkan-zig - Vulkan binding generator for Zig [MIT]
  • VK², Kotlin Wrapper for Vulkan: code expressiveness and safety meet graphic power [Apache License 2.0]
  • Vortice.Vulkan - .NET Standard 2.0 and .NET5 C# bindings [MIT]
  • Raw Node.js Vulkan API - A new Vulkan bindings for Node.JS, similar with LWJGL-3 or NVK.
  • Deno Vulkan - Vulkan API bindings for Deno. [Apache Licence 2.0]

Tools

  • Nsight™ Visual Studio Edition 5.2+.
  • LoaderAndValidationLayers - from KhronosGroup. [Apache Licence 2.0]
  • renderdoc - by baldurk, a stand-alone graphics debugging tool. [MIT]
    • RDCtoVkCpp - converts RenderDoc Vulkan capture to compilable and executable C++ code. [MIT]
  • VulkanTools - LunarG's tools including layers and configurator. [Apache Licence 2.0]
  • VKtracer - universal and easy-to-use profiler for Vulkan.
  • CodeXL - CodeXL goes open source. [MIT]
  • Qualcomm Adreno GPU Tools - samples, Adreno recommendation layer, best practice docs for Adreno GPU.
  • Qualcomm Snapdragon Profiler - includes Vulkan traces and frame captures for Adreno GPU.
  • Arm Mobile Studio - includes the Arm Graphics Analyzer to trace graphics performance issues easily, and Arm Streamline performance analyzer, for a whole-system view of performance to determine bottlenecks quickly across both the CPU and GPU.
  • Open Capture and Analytics Tool (OCAT) - provides an FPS overlay and performance measurement for D3D11, D3D12, and Vulkan. [MIT]
  • gapid - Graphics API Debugger, can trace and replay Android OpenGL ES and Vulkan applications. [Apache License 2.0]
  • Arm - PerfDoc - a validation layer against the Mali Application Developer Best Practices document. [MIT]
  • glsl_trace - library for shader debugging and profiling for Vulkan and OpenGL. [MIT]
  • MangoHud - Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load. [MIT]

Books

Papers

Khronos

Community

Related lists

  • awesome - Curated list of awesome lists.
  • awesome-opengl - Curated list of awesome OpenGL libraries, debuggers and resources.
  • gamedev - Awesome list about game development.
  • graphics-resources - List of graphic programming resources.
  • awesome-d3d12 - Curated list of awesome D3D12 libraries, debuggers and resources.

License

Creative Commons License

This work is licensed under a Creative Commons Attribution 4.0 International License.

Contributing

Please see CONTRIBUTING for details.

awesome-vulkan's People

Contributors

adam-sawicki-a avatar agemor avatar akira13641 avatar azhirnov avatar charles-lunarg avatar dimi309 avatar jayrulez avatar johannesugb avatar joseemilio-arm avatar manugildev avatar mehmetoguzderin avatar melroy89 avatar mhdta-dev avatar mosra avatar nicholasmilef avatar realitix avatar red1c3 avatar robertosfield avatar saschawillems avatar sjfricke avatar snektron avatar sumenia avatar theevilskeleton avatar thelavablock avatar timgates42 avatar unarmed1000 avatar vinjn avatar zentros avatar zhenyw avatar zyrolasting avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

awesome-vulkan's Issues

vkcpp is defunct

the text vkcpp aka Vulkan-hpp C++ binding from NVIDIA and the blog about it. should be updated to drop the link to the original vkcpp repository as it's now empty and simply points to the Khronos repository.

Adding a book section

What's the thought of adding a book section as there are about 3 books I am aware of for Vulkan, I would be happy to make the PR too.

[Question] Mac devices section under Hardware?

I just wondered if there should be a section under Hardware that has notes for MacOS and iOS pointing to MolternVK which can easily be missed in the libraries list and is currently the only Vulkan support for the Apple ecosystem, that I know of.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.