New Vulkan Documentation Website

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Nutrient – The #1 PDF SDK Library, trusted by 10K+ developers
Other PDF SDKs promise a lot - then break. Laggy scrolling, poor mobile UX, tons of bugs, and lack of support cost you endless frustrations. Nutrient’s SDK handles billion-page workloads - so you don’t have to debug PDFs. Used by ~1 billion end users in more than 150 different countries.
www.nutrient.io
featured
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
  1. game-engine-3d

    Planimeter Game Engine 3D

    https://github.com/Planimeter/game-engine-3d/blob/main/src/g...

    Try reading the above implementation. It’s a Hello, Triangle with SDL. Should compile out of the box on Windows.

  2. Nutrient

    Nutrient – The #1 PDF SDK Library, trusted by 10K+ developers. Other PDF SDKs promise a lot - then break. Laggy scrolling, poor mobile UX, tons of bugs, and lack of support cost you endless frustrations. Nutrient’s SDK handles billion-page workloads - so you don’t have to debug PDFs. Used by ~1 billion end users in more than 150 different countries.

    Nutrient logo
  3. GLFW

    A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input

    Not SDL2, but GLFW has something like that under the tests/ directory:

    https://github.com/glfw/glfw/blob/master/tests/triangle-vulk...

  4. sokol

    minimal cross-platform standalone C headers

    I wonder if using your library (https://github.com/floooh/sokol) instead of OpenGL will alleviate some of these issues for newcomers! There's already a sokol port of the learnopengl.com code (https://github.com/GeertArien/learnopengl-examples), so it shouldn't be too hard to match between the tutorial articles and these.

  5. learnopengl-examples

    Examples from learnopengl.com, implemented using Sokol libraries.

    I wonder if using your library (https://github.com/floooh/sokol) instead of OpenGL will alleviate some of these issues for newcomers! There's already a sokol port of the learnopengl.com code (https://github.com/GeertArien/learnopengl-examples), so it shouldn't be too hard to match between the tutorial articles and these.

  6. wgpu

    A cross-platform, safe, pure-Rust graphics API.

    dawn is the WebGPU backend in chromium, while wgpu is the WebGPU backend for firefox written in Rust. wgpu is seeing a lot of use in non-browser uses; there are some examples on their website.

    https://wgpu.rs/

  7. SPIRV-Tools

    SPIR-V is an intermediate bytecode format. That bytecode is the data that you use in the Vulkan API, and under the hood your graphics drivers compile that bytecode into the device-specific native shader binary that runs on the graphics hardware.

    Vulkan doesn't come with any tools to generate that bytecode though. Foreign shader language (like HLSL, GLSL, etc) to SPIR-V compilers exist, and various graphics toolchains can generate SPIR-V. https://github.com/KhronosGroup/SPIRV-Tools does have tools to validate and optimizing SPIR-V bytecode.

  8. webgpu-headers

    **NOT STABLE YET!** See README.

    There's standardized C API which is both implemented by Dawn and wgpu.rs:

    https://github.com/webgpu-native/webgpu-headers/blob/main/we...

    ...and this standardized API would also enable other independent native implementations.

    There's even thought put into the API being extensible via 'struct chaining', this is how the native implementations also accept SPIRV shader bytecode instead of just WGSL shader source code.

  9. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  10. raylib

    A simple and easy-to-use library to enjoy videogames programming

  11. Vulkan-Docs

    The Vulkan API Specification and related tools

    Apple -> MoltenVK is an emulation layer and doesn't give you as much control as using Metal directly.

    Nintendo and Sony prefer their own APIs, NVN and LibGNM, and AIUI Vulkan is a second-class API on those platforms which does not offer as much power, it is widely understood studios use NVN and LibGNM to get access to the real hardware on those platforms.

    Windows/AMD/NVidia/Intel -> HW manufacturers tend to prototype and release new features with D3D first and then 'backport' them to Vulkan after a while. DirectX 12 for example had mesh shaders for over 2 years before Vulkan got a vendor neutral extension for them[0]

    Android and Linux are the only platform where Vulkan is a first-class citizen.

    You could maybe argue Nvidia treats Vulkan as a first-class citizen because they tend to have vendor-specific Vulkan extensions for the latest features available before anyone else. But otherwise, no, Vulkan is not a first-class API anywhere except Linux and Android.

    Graphics API wars are alive and well.

    [0] https://github.com/KhronosGroup/Vulkan-Docs/issues/1423

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

  • Technical Considerations for GUI Toolkits [Discussion]

    1 project | /r/compsci | 11 Dec 2023
  • Technical Considerations for GUI Toolkits [Discussion]

    2 projects | /r/learnprogramming | 11 Dec 2023
  • How to set-up GLFW 3.3.8 with C++ visual studio community 2022?

    1 project | /r/gamedev | 10 Dec 2023
  • Exploring Computer Graphics: Weekly Chronicle #1

    5 projects | dev.to | 16 Oct 2023
  • LWJGL = SFML vs Allegro vs SDL vs Ogre vs ???

    2 projects | /r/opengl | 5 Jul 2023

Did you know that C is
the 6th most popular programming language
based on number of references?