Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/caellian/shader-reflection
Reflection system for SPIR-V bytecode.
https://github.com/caellian/shader-reflection
Last synced: 14 days ago
JSON representation
Reflection system for SPIR-V bytecode.
- Host: GitHub
- URL: https://github.com/caellian/shader-reflection
- Owner: Caellian
- License: apache-2.0
- Created: 2024-08-29T04:07:14.000Z (3 months ago)
- Default Branch: trunk
- Last Pushed: 2024-08-29T04:29:48.000Z (3 months ago)
- Last Synced: 2024-08-29T05:26:32.251Z (3 months ago)
- Language: Rust
- Size: 24.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE-2.0
Awesome Lists containing this project
README
# SPIR-V Shader Reflection
A library that reads SPIR-V binaries and provides binding descriptors, variable type information,
constant value inspection, etc. at compile-time and runtime.This streamlines experimentation with shaders and makes it simpler to keep the Vulkan pipeline
configuration correct by shifting errors from program execution to compilation and making them
much more obvious/clear.## Features
- Provide information needed for construction of binding descriptors
- Generate types for bindings and push constants
- `glam` integration
- [ ] Handle shader source conversion using `naga`
- [ ] Bake in optimization using [Embark Studios spirv tools wrapper](https://github.com/EmbarkStudios/spirv-tools-rs).
- [ ] Provide a macro for embedding metadata and SPIR-V bytecode into target binaries## Attribution
- Binding descriptor inference code is based on [`rspirv-reflect`](https://github.com/Traverse-Research/rspirv-reflect).
- SPIR-V binary normalization utility function is copied from [`ash`](https://github.com/ash-rs/ash).## License
This library is licensed under terenary MIT, Apache 2.0, Zlib license.
Copies of the licenses are provided in the root of repository.