rust-gpu
rust-gpu copied to clipboard
🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧
Blocked on: * ~~https://github.com/EmbarkStudios/rust-gpu/pull/1033~~ * ~~Android logging fixes + some backstory~~ * https://github.com/EmbarkStudios/rust-gpu/pull/1018 * to get the mouse shader working via naga * https://github.com/gfx-rs/wgpu/pull/3693 * to unbreak `wgpu` on the...
I noticed that a rust gpu shader was running much slower than the equivalent wgsl one. The wgsl one takes 53ms, and the rust gpu version takes 67ms. Looking at...
I ported the shadertoy shader from https://www.shadertoy.com/view/tsXBzS to rust-gpu (code at https://github.com/LegNeato/rust-gpu/tree/fractal). When I run it, shadertoy on the web is way faster than rustgpu + wgpu locally, even with...
I've been porting some WGSL code like [like these](https://github.com/bevyengine/bevy/blob/main/assets/shaders/game_of_life.wgsl) into [rust](https://github.com/Bevy-Rust-GPU/example-workspace/pull/22#issuecomment-1796063937) and the documentation for actually writing shaders is very sparse: https://embarkstudios.github.io/rust-gpu/book/writing-shader-crates.html I only managed to get the above program...
This has been a long-time coming, I've mostly been putting it off because of how annoying it'd be to implement. (turns out I was a bit wrong and there's so...
~~*Opening as draft because this is blocked on `wgpu::backend::web` being completely broken:*~~ * ~~https://github.com/gfx-rs/wgpu/issues/3430~~ * ~~the short version is that they made a `Copy` type convertible to a type that...
This is the idea I mentioned in: * https://github.com/EmbarkStudios/rust-gpu/issues/1086#issuecomment-1655044334 However, opening as draft because the situation is even messier than envisioned and more panic handling is needed (up to an...
*Opened as draft because it's somewhat incomplete, but I want it out of the way for now.* This PR adds a `TypedBuffer` "handle" type to `spirv-std` (comparable to `Image` types...
### Expected Behaviour Shader crate successfully compiles ### Example & Steps To Reproduce ```rust #[spirv(any_hit)] pub fn my_any_hit() { let p = Vec3A::ZERO; if p.length_squared() < 1e-3 { unsafe {...
### Expected Behaviour In the following example, you can't have a `uniform` with a variable amount of data, so it must be a `storage_buffer` instead. Currently, rust-gpu compiles it to...