What abstractions exists that sit on top of Vulkan and Metal?

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/gamedev

Our great sponsors
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • Scout APM - Truly a developer’s best friend
  • SonarQube - Static code analysis for 29 languages.
  • Zigi - The context switching struggle is real
  • LearnOpenGL

    Code repository of all OpenGL chapters from the book and its accompanying website https://learnopengl.com

    To get up to speed on modern GL, check out https://learnopengl.com/, it's the universally recommended learning source for a beginner. Once you're comfortable with 4.x and have your game working, you may want to check out "AZDO" (approaching zero driver overhead) techniques described in this GDC talk. This is basically a technique for offloading as much of the graphics work to the GPU as possible, and can get you enormous performance speedups. This is roughly the paradigm that Vulkan uses to achieve its high performance, but GL doesn't prevent you from doing it either.

  • wgpu-native

    Native WebGPU implementation based on wgpu-core

    Personally I use wgpu-native. It can sit on top of Vulkan and Metal. It gets rid of crappy parts from OpenGL such as global state, binding objects. It also implicitly handles tough parts of Vulkan such as synchronization or memory management. Also, this implementation is in Rust, but it exposes a C header, so it's very easy to integrate it into other languages (I use it from D with no issues).

  • 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.

  • wgpu

    Safe and portable GPU abstraction in Rust, implementing WebGPU API.

    If you're ok with using rust you can use wgpu which is the higher level wrapper for wgpu-native. It removes some of the boiler plate.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts