webgpu-headers
sokol
webgpu-headers | sokol | |
---|---|---|
4 | 38 | |
325 | 6,062 | |
2.5% | - | |
7.2 | 9.7 | |
7 days ago | 2 days ago | |
C | C | |
BSD 3-clause "New" or "Revised" License | zlib 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
sokol
- STB: Single-file public domain libraries for C/C++
-
Container2wasm: Convert Containers to WASM Blobs
I'm using Dear ImGui for my cross-platform code (which includes running in browsers):
- https://floooh.github.io/visual6502remix/
- https://floooh.github.io/tiny8bit/c64-ui.html
- (start these samples by clicking on the little "UI" icon) https://floooh.github.io/sokol-html5/
Platform abstraction is handled through the sokol headers: https://github.com/floooh/sokol
-
New Vulkan Documentation Website
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.
-
Meta Releases Intermediate Graphics Library
If you're looking for something like this, Sokol is a much simpler alternative:
https://github.com/floooh/sokol
It doesn't support vulkan though, but if that's important to you you're probably much better off just using vulkan directly since it's supported on all the major platforms.
-
Why glibc 2.34 removed libpthread
All I can do is give you a couple of Github ticket links where users of my libraries stumbled over the issue (and with different symptoms):
- https://github.com/floooh/sokol/issues/376
- https://github.com/floooh/sokol/issues/404
- https://github.com/floooh/cimgui-sokol-starterkit/issues/6
We then added a dummy call to a no-op pthread function, so that users can better figure out that they need to use -pthread because now they get a linker error instead of a runtime crash or hang. This has since reduced the 'support overhead' quite a bit:
- https://github.com/floooh/sokol/pull/456
-
File for Divorce from LLVM
My stuff for instance:
https://github.com/floooh/sokol
...inspired by:
https://github.com/nothings/stb
But it's not so much about the build system, but requiring a separate C/C++ compiler toolchain (Rust needs this, Zig currently does not - unless the proposal is implemented).
- Minimal cross-platform standalone C headers
-
How can i play .wav file with C ?
I have never personally used it but I'm pretty sure sokol has an audio library that might be what you are after.
-
Website with Godot?
And I asked floooh for similar thoughts on making a website with sokol here: https://github.com/floooh/sokol/issues/825
-
I want to talk about WebGPU
It's not Rust and TS, instead C and JS, but Emscripten has a very nice way of integrating C/C++ and JS (you can just embed snippets of Javascript inside C/C++ source files), e.g. starting at this line, there's a couple of embedded Javascript functions which can be called like C functions directly from the "C side":
https://github.com/floooh/sokol/blob/4535a3b4be59eb912e77e04...
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.
raylib - A simple and easy-to-use library to enjoy videogames programming
DiligentEngine - A modern cross-platform low-level graphics library and rendering framework
tinyrenderer - A brief computer graphics / rendering course
VulkanSceneGraph - Vulkan & C++17 based Scene Graph Project
LearnOpenGL - Code repository of all OpenGL chapters from the book and its accompanying website https://learnopengl.com
misc - Clippings
v - Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io
wgpu - Cross-platform, safe, pure-rust graphics api.
nanovg - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.