SPIRV-Tools
game-engine-3d
SPIRV-Tools | game-engine-3d | |
---|---|---|
6 | 3 | |
1,002 | 4 | |
1.2% | - | |
9.3 | 6.5 | |
7 days ago | 10 months ago | |
C++ | HTML | |
Apache License 2.0 | GNU General Public License v3.0 only |
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.
SPIRV-Tools
-
New Vulkan Documentation Website
SPIR-V is an intermediate bytecode format. That bytecode is the data that you use in the Vulkan API, and under the hood your graphics drivers compile that bytecode into the device-specific native shader binary that runs on the graphics hardware.
Vulkan doesn't come with any tools to generate that bytecode though. Foreign shader language (like HLSL, GLSL, etc) to SPIR-V compilers exist, and various graphics toolchains can generate SPIR-V. https://github.com/KhronosGroup/SPIRV-Tools does have tools to validate and optimizing SPIR-V bytecode.
-
Why aren't Callable Shaders supported in raster pipelines?
In that case, there is a linker in SPIR-V tools, though it doesn't use the syntax sugar for inlined functions like Metal3 does https://github.com/KhronosGroup/SPIRV-Tools, but again, that's kind of a higher level functionality
- How standardized are shader compiler optimisations?
- 144hz > 120hz solved my performance issue
-
Help trying to get Vulkan android samples running?
which is looking for https://github.com/KhronosGroup/SPIRV-Tools/releases/download/master-tot/SPIRV-Tools-master-osx-RelWithDebInfo.zip which yields a 404.
-
Specialization constant has invalid size in shader module. Expected size is different from shader definition.
I would use SPIR-V Tools to disassemble the shader, and confirm that it's an issue in the on-disk shader binary. If you find that constant ID 9 on disk has size 4, then it's your shader loading that's going wrong; if it has size -1, then you need to look at why glslc has compiled your shader source with the wrong size.
game-engine-3d
-
New Vulkan Documentation Website
https://github.com/Planimeter/game-engine-3d/blob/main/src/g...
Try reading the above implementation. It’s a Hello, Triangle with SDL. Should compile out of the box on Windows.
-
GPU Video acceleration in the Windows Subsystem for Linux now available
I haven't looked at DirectX 12's documentation, but I really should. Khronos Group's Vulkan Samples are broken out of the box, crash on a fresh build, and the Hello Triangle API sample crashed when you minimize it.
It took me over 700 lines of C for a minimal replica.[1]
I'm not a fan of Vulkan not having a built-in compiler for shaders compared to OpenGL. I'm sure there's a superior technical reason for it, but I don't care because it's ruined my development experience, and reintroducing the behavior requires a sizable increase in CMake dependency overhead.
https://github.com/Planimeter/game-engine-3d/blob/main/src/g...
What are some alternatives?
learnopengl-examples - Examples from learnopengl.com, implemented using Sokol libraries.
raylib - A simple and easy-to-use library to enjoy videogames programming
Vulkan-Docs - The Vulkan API Specification and related tools
GLFW - A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input
wgpu - A cross-platform, safe, pure-Rust graphics API.
sokol - minimal cross-platform standalone C headers
ggez - Rust library to create a Good Game Easily