shady
SPIRV-Cross
Our great sponsors
shady | SPIRV-Cross | |
---|---|---|
4 | 10 | |
186 | 1,907 | |
8.1% | 2.0% | |
9.7 | 9.0 | |
7 days ago | 11 days ago | |
C | GLSL | |
MIT 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.
shady
- Shady is a small intermediate shading language and compiler for research
-
Vcc – The Vulkan Clang Compiler
Sounds cool, but this requires yet another language to learn[0]. As someone who only has limited knowledge in this space, could someone tell me how comparable is the compute functionality of rust-gpu[1], where I can just write rust?
[0] https://github.com/Hugobros3/shady#language-syntax
[1] https://github.com/EmbarkStudios/rust-gpu
- Why aren't there constantly more shading languages popping up all the time like other languages?
- The trouble with SPIR-V, 2022 edition
SPIRV-Cross
-
Why aren't there constantly more shading languages popping up all the time like other languages?
There also exists something like SPIRV-Cross which promises to be able to generate code from the SPIRV intermediate representation into Metal and all versions of GLSL and HLSL. I am not sure really how good it is at this point, but going forward we might start to see more high-level shader languages, that compile to SPRIV and then from there to the myriad of different shader formats different platforms expect.
-
The trouble with SPIR-V, 2022 edition
If you have shaders, I believe you can use SPIRV-Cross to generate GLSL, which you can probably get to pass as OpenCL C with just a bunch of macro tweaks, or at worst some small changes to spv-cross.
-
Need guidance on SPIRV reflection
Regarding reflection, here is a guide: https://github.com/KhronosGroup/SPIRV-Cross/wiki/Reflection-API-user-guide
-
What are your (dynamic) shader workflows when targeting multiple backends (Vulkan and Metal)?
I am working on an engine that targets Vulkan and Metal. I'm at the point now where I want to be able to dynamically update my shader at runtime to suit the type of data being sent in for drawing. I am currently using offline compilation for my GLSL (for Vulkan) and MSL (for Metal) shaders. What are your workflows for situations like this? For those using tools like SPIR-V Cross and shaderc, what has your experience been with these tools keeping up to date with the latest features in the specs?
-
How are Vulkan, CUDA, Triton and all other things connected?
For cross-platform support look at WebGPU and Vulkan (e.g,: [0] [1]. Essentially, you would need to write the func in WGSL or GLSL, HLSL or MSL. Each of these can be cross-compiled to SPIR-V (what Vulkan needs) with cross-compilers such as spirv-cross and naga.
-
Is it possible to get set number from uniform block reflection in glslang?
Just for reference, the library I'm using (both for compiling the shaders and for reflection), is SPIRV-Cross by the Khronos Group and here you have the docs for the reflection API. I wanted to check out `glslang` but honestly this one so far has worked like a charm.
-
Reflection on shaders to determine uniforms, samplers, attributes, etc.
Aside from SPIRV-Reflect, if you're using SPIRV-cross to cross compile your shaders, there is also a --reflect arg you can pass which spits out reflection info in JSON format. We already need to cross compile from spirv, so it just removes a tool in the chain to depend on.
- Finally managed to make my own shading language working! (need some opinion about the lang)
-
Need a little help with shaders.
For your own engine, use the format your API uses. If you need crossplatformness, there is a new path available. Write your shaders in a language that compiles to SPIR-V (HLSL/GLSL are the most obvious languages), and then use SPIR-V Cross to compile the SPIR-V back to HLSL/GLSL for other API to consume.
- Getting descriptors from SPIRV
What are some alternatives?
slang - Making it easier to work with shaders
rust-gpu - 🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧
SDL_shader_tools - Shader compiler and tools for SDLSL (Simple Directmedia Layer Shader Language)
naga - Universal shader translation in Rust
cg2c
glslang - Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator.
DirectXShaderCompiler - This repo hosts the source for the DirectX Shader Compiler which is based on LLVM/Clang.
SPIRV-Reflect - SPIRV-Reflect is a lightweight library that provides a C/C++ reflection API for SPIR-V shader bytecode in Vulkan applications.
xshade - "cross shade" meta shading language and compiler
shaderc - A collection of tools, libraries, and tests for Vulkan shader compilation.
glassful - Rust-like syntax for OpenGL Shading Language
rivi-loader - Vulkan Compute program loader in Rust