Unified Shader Programming in C++

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

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. DiligentEngine

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

    If you have relatively new GL, this one is good: https://diligentgraphics.com/diligent-engine/

  2. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  3. magnum

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

  4. processing

    Source code for the Processing Core and Development Environment (PDE)

    There's https://openframeworks.cc/. It's basically the C++ equivalent to https://processing.org/. Unfortunately, it's not really a library but rather a complete app framework, but it shows how a C++ wrapper API could look like. It definitely makes OpenGL programming easier and more fun.

  5. OpenFrameworks

    openFrameworks is a community-developed cross platform toolkit for creative coding in C++.

    There's https://openframeworks.cc/. It's basically the C++ equivalent to https://processing.org/. Unfortunately, it's not really a library but rather a complete app framework, but it shows how a C++ wrapper API could look like. It definitely makes OpenGL programming easier and more fun.

  6. framework

    > Unfortunately, it's not really a library

    I made it a library with a single header: https://github.com/redgpu/framework

  7. Ion

    Discontinued Ion (by google)

  8. rust-gpu

    🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧

    Rust also has this, from what I understand:

      https://github.com/EmbarkStudios/rust-gpu

  9. globjects

    C++ library strictly wrapping OpenGL objects.

  10. bgfx

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

  11. dcompute

    DCompute: Native execution of D on GPUs and other Accelerators

  12. makepad

    Makepad is a creative software development platform for Rust that compiles to wasm/webGL, osx/metal, windows/dx11 linux/opengl

    Makepad does something simular with its universal shading language: https://makepad.dev/

  13. shaders

    Circle C++ shaders

    I think shader specialisation is handled pretty well in circle. Since you can essentially run arbitrary C++ code at compile time, selection and specialisation of a shader can even depend on hardware specific benchmarks. There is an extensive repo with examples here: https://github.com/seanbaxter/shaders. One example decodes a sprite sheet stored as a png at compile time and creates a specialised compute shader for it. You can also easily implement a control UI based on reflection of uniform shader parameters.

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

  • The Ultimate Cross-Platform Rendering Engine?

    3 projects | /r/GraphicsProgramming | 18 Aug 2023
  • Want to a 3D game without a game engine but not having to deal with opengl stuff ?

    4 projects | /r/gamedev | 9 Dec 2022
  • Looking for a 2D/3D rendering layer for C++

    3 projects | /r/gamedev | 23 Aug 2022
  • Simple light graphics library for c++?

    7 projects | /r/gamedev | 14 Aug 2022
  • The current state of GPU API's and why I wish V-EZ hadn't died.

    9 projects | /r/GraphicsProgramming | 11 Mar 2022

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