webgpu-headers
DiligentEngine
Our great sponsors
webgpu-headers | DiligentEngine | |
---|---|---|
4 | 24 | |
322 | 3,310 | |
3.7% | 1.9% | |
7.4 | 9.4 | |
5 days ago | 3 days ago | |
C | Batchfile | |
BSD 3-clause "New" or "Revised" License | Apache License 2.0 |
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
DiligentEngine
-
We Are Doomed: A pessimistic point of view of "modern software engineering"
Neither Apple nor Microsoft want any usable multiplatform graphics API. For this reason, none of them delivers such a thing.
If you want a multiplatform graphics API, you should use a library which implements such API on top of these native OS-specific APIs.
I have good experience with that one: http://diligentgraphics.com/diligent-engine/ I’ve used it couple times on Windows with D3D12 backend, and on Linux with GLES 3.1 backend.
-
The Ultimate Cross-Platform Rendering Engine?
Diligent Engine: They say their engine is the successor of bgfx, but I'm not rly into that topic.
-
Collecting the best C++ practices
Diligent Engine. A Modern Cross-Platform Low-Level 3D Graphics Library and Rendering Framework Tweet.
- Diligent Engine 2.5.3 is out: path tracing tutorials, render state cache, hot shader reload and more
- Good repos for beginners to browse that follow best modern C++ practices (including testing, static analysis etc...)
- Check out a new path tracing tutorial in Diligent Engine that shows how to use a render state packager to build pipeline states off-line and pack them into archive so that they can be loaded fast at run time.
-
Improving my CPP skills
Read other people's code (I recommend modern small to medium sized github projects, because large ones can be overwhelming) or else you will forever stay in your bubble of how things are done. For example, I had learned a thing or two by using (and code browsing) diligent engine's source.
-
What is a good absolutely minimalist game/rendering engine?
Diligent Engine
-
A Rant on Developers
I'm not speaking out of my ass, either, I have very actively followed low-level development being done towards open-source engines such as Diligent and Wicked. I personally am a contributor to the latter engine, as well. It is baffling to me that independent developers don't support this platform.
- Diligent Engine v2.5.2 is out: Render State Notation, State Object Serialization, Off-line packager tool and more
What are some alternatives?
wgpu-native - Native WebGPU implementation based on wgpu-core
bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
The-Forge - The Forge Cross-Platform Rendering Framework PC Windows, Steamdeck (native), Ray Tracing, macOS / iOS, Android, XBOX, PS4, PS5, Switch, Quest 2
VulkanSceneGraph - Vulkan & C++17 based Scene Graph Project
rust-gpu - 🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧
misc - Clippings
nanovg - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.
wgpu - Cross-platform, safe, pure-rust graphics api.
LLGL - Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal
learn-wgpu - Guide for using gfx-rs's wgpu library.
raylib - A simple and easy-to-use library to enjoy videogames programming