webgpu-headers
VulkanSceneGraph
Our great sponsors
webgpu-headers | VulkanSceneGraph | |
---|---|---|
4 | 7 | |
322 | 1,160 | |
3.7% | - | |
7.4 | 9.8 | |
4 days ago | 6 days ago | |
C | C++ | |
BSD 3-clause "New" or "Revised" License | MIT License |
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.
webgpu-headers
-
New Vulkan Documentation Website
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.
-
I want to talk about WebGPU
The API definition exists:
https://github.com/webgpu-native/webgpu-headers/blob/main/we...
The next missing piece is a standard window system glue API for WASI though.
-
The current state of GPU API's and why I wish V-EZ hadn't died.
At first it was for only web, but browsers implement it using compiled code (C++/Rust) and you can use the implementation directly. Wgpu is for Firefox, Dawn is for Chrome. There is a C header for them: https://github.com/webgpu-native/webgpu-headers/blob/main/webgpu.h.
-
Learn Wgpu
> Wgpu actually has C bindings to allow you to write C/C++ code with it, as well as use other languages that interface with C. That being said, wgpu is written in Rust, and it has some convenient Rust bindings that don't have to jump through any hoops. On top of that, I've been enjoying writing in Rust.
Why the bloat when this exist? https://github.com/webgpu-native/webgpu-headers
VulkanSceneGraph
-
Vulkan all the way: Transitioning to a modern low-level graphics API in academia
I have not used this, but heard good things about Vulkan Scene Graph. https://github.com/vsg-dev/VulkanSceneGraph Like Open Scene Graph, it's more than just a scene graph. It provides math and geometry among other abstractions for computer graphics.
- Vulkan Scene Graph. The Open Scene Graph Successor
-
Beginner question: Is Vulkan like OpenGL except more focused on concurrency?
In fact, there is now a VulkanSceneGraph ( https://github.com/vsg-dev/VulkanSceneGraph ) from the authors of OpenSceneGraph that does exactly what OSG does, but atop Vulkan. Not everything is identical between VSG and OSG, but VSG is definitely a next-generation OSG written atop Vulkan. It addresses many of the limiting design decisions that held OSG back, and is significantly faster than OSG even ignoring the speedup of Vulkan's own efficiencies.
- The current state of GPU API's and why I wish V-EZ hadn't died.
-
Cross-platform 3D engine recommendation
If I were starting from scratch I'd go with VulkanSceneGraph though https://github.com/vsg-dev/VulkanSceneGraph
- Examples of good Vulkan code organization and abstractions?
-
Visualization Libraries On Top Of Vulkan
Perhaps https://github.com/vsg-dev/VulkanSceneGraph will be of some interest.
What are some alternatives?
wgpu-native - Native WebGPU implementation based on wgpu-core
The-Forge - The Forge Cross-Platform Rendering Framework PC Windows, Steamdeck (native), Ray Tracing, macOS / iOS, Android, XBOX, PS4, PS5, Switch, Quest 2
bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
DiligentEngine - A modern cross-platform low-level graphics library and rendering framework
ultimatepp - U++ is a C++ cross-platform rapid application development framework focused on programmer's productivity. It includes a set of libraries (GUI, SQL, Network etc.), and integrated development environment (TheIDE).
misc - Clippings
vulkan-guide - Introductory guide to vulkan.
wgpu - Cross-platform, safe, pure-rust graphics api.
Lumos - Cross-Platform C++ 2D/3D game engine
learn-wgpu - Guide for using gfx-rs's wgpu library.