liblava
vuh
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
liblava
-
Vulkan all the way: Transitioning to a modern low-level graphics API in academia
Sorry for late response! The one I like most is LibLava https://github.com/liblava/liblava I contributed a few features that it was missing for me, and a few other people have done the same, so it's somewhat battle tested. At least two people have used it in academic projects. I like that it gives you full access to the low level parts of Vulkan while still providing high level abstractions over a lot, especially the render loop. The biggest issue imo is lackluster documentation, but it's fairly well organized and readable source code. Build times are also pretty long due to its many dependencies.
-
Any C++ open source projects for beginners?
When I was pretty new to C++, I made some contributions to liblava, because it was missing features I wanted to use. Exploring its codebase taught me a lot about perfect forwarding, template metaprogramming, and Vulkan. I think it's a pretty nice modern codebase, if you're interested in graphics. There are some open issues for feature requests, and the maintainer is very friendly.
-
Just released: liblava 2022 alpha / v0.7.2 - Free demo collection on itch.io
tutorial, guide and sources: https://git.io/liblava
-
The deprecation of RenderScript is infuriating
Until your users start complaining about the performance. If setting up Vulkan is your pain point (which, I can understand, it's a verbose chunk), libraries like liblava provide a very nice abstraction over things.
vuh
-
GLSL shaders for OpenCL
The only one that is relatively lightweight (and doesn't have dependencies) is vuh (https://github.com/Glavnokoman/vuh) that looks unsupported.
- Resources for Vulkan GPGPU searched
-
Blender 3.0 takes support for AMD GPUs to the next level
Don't try to use it directly, you need a higher level library.
https://github.com/KomputeProject/kompute seems like what's taking off. There are also smaller ones like https://github.com/Glavnokoman/vuh etc.
What are some alternatives?
VulkanHelper - A simple helper interface between Vulkan C API and C++ containers
GLSL - GLSL Shading Language Issue Tracker
Yave - Yet Another Vulkan Engine
ocl - OpenCL for Rust
skia-opengl-emscripten - DEPRECATED! ~~C++ HTML/CSS UI. Supports subset of HTML/CSS. Based on chromium/cobalt.foo without JavaScript overhead. Uses SKIA 2D graphics library. Can be used to build UI for cross-platform app, game or website. Can support browser as HTML5 web framework or WebGL UI renderer.~~
uVkCompute - A micro Vulkan compute pipeline and a collection of benchmarking compute shaders
bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
rust-gpu - 🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧
renderdoc - RenderDoc is a stand-alone graphics debugging tool.
cuda-api-wrappers - Thin C++-flavored header-only wrappers for core CUDA APIs: Runtime, Driver, NVRTC, NVTX.
iara - The asynchronous framework for modern C++
kompute - General purpose GPU compute framework built on Vulkan to support 1000s of cross vendor graphics cards (AMD, Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabled, asynchronous and optimized for advanced GPU data processing usecases. Backed by the Linux Foundation.