Skip to content

Commit 6acaa8b

Browse files
committed
Update README.md
1 parent 2b1e47b commit 6acaa8b

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

README.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
[![Documentation](https://img.shields.io/badge/docs-API-blue)](https://bevy-rust-gpu.github.io/bevy-rust-gpu/bevy_rust_gpu/)
66

7-
A set of bevy plugins supporting the use of `rust-gpu` crates.
7+
A set of bevy plugins supporting the use of [`rust-gpu`](https://github.com/EmbarkStudios/rust-gpu) shader crates.
88

99
Feature includes hot-reloading with metadata-based entrypoint validation, and hot-recompiling via runtime export of active entrypoints.
1010
</div>
@@ -18,7 +18,7 @@ so can be left to the default `Material` implementation if desired.
1818
Then, implement `RustGpuMaterial` for your `Material` type.
1919
This will require creating marker structs to represent its vertex and fragment shaders,
2020
and implementing the `EntryPoint` trait on them to describe entry point names and compile-time parameters.
21-
(See `src/bevy_pbr_rust.rs` for the `bevy-pbr-rust`-backed `StandardMaterial` reference implementation.)
21+
(See [`bevy_pbr_rust.rs`](https://github.com/Bevy-Rust-GPU/bevy-rust-gpu/blob/master/src/bevy_pbr_rust.rs) for the [`bevy-pbr-rust`](https://github.com/Bevy-Rust-GPU/bevy-pbr-rust)-backed `StandardMaterial` reference implementation.)
2222

2323
Next, add `RustGpuPlugin` to your bevy app to configure the backend.
2424
Currently this must occur before `RenderPlugin` is added (most often via `DefaultPlugins`), as it requires early access to `WgpuSettings` to disable storage buffer support.
@@ -46,16 +46,17 @@ and re-specializes the material if it becomes available after a reload.
4646
Adds the `EntryPointExport` resource, which can be used to retrieve an `ExportHandle` corresponding to a JSON output file.
4747
When passed to a `RustGpu` material, active entrypoints to be aggregated and exported to the corresponding file on change.
4848

49-
This can be used in concert with the `hot-reload` feature, `rust-gpu-builder`'s file watching functionality,
50-
and `permutate-macro`'s static permutation generation to drive a hot-rebuild workflow:
49+
This can be used in concert with the `hot-reload` feature, [`rust-gpu-builder`](https://github.com/Bevy-Rust-GPU/rust-gpu-builder)'s file watching functionality,
50+
and [`permutate-macro`](https://github.com/Bevy-Rust-GPU/permutate-macro)'s static permutation generation to drive a hot-rebuild workflow:
5151

5252
* The bevy app loads a `RustGpu` material, tries to specialize it, and exports the set of required entry points to `entry_points.json`
53-
* `rust-gpu-builder` picks up the change to `entry_points.json` and triggers a recompile
54-
* `permutate-macro` attributes in the target shader crates read `entry_points.json`, and conditionally generate the required entry points
53+
* [`rust-gpu-builder`](https://github.com/Bevy-Rust-GPU/rust-gpu-builder) picks up the change to `entry_points.json` and triggers a recompile
54+
* [`permutate-macro`](https://github.com/Bevy-Rust-GPU/permutate-macro) attributes in the target shader crates read `entry_points.json`, and conditionally generate the required entry points
5555
* `rust-gpu` compiles the generated code, outputting `shader.spv` and `shader.spv.json`
5656
* The bevy app picks up the changes to `shader.spv` and `shader.spv.json`, hot-reloads them, and respecializes the material with the now-available entry points
5757
* Repeat as new `RustGpu` materials are loaded by the bevy app
5858

5959
### `bevy-pbr-rust`
6060

61-
Implements `RustGpu` for `StandardMaterial` via the `MeshVertex` and `PbrFragment` entry point markers.
61+
Implements `RustGpu` for `StandardMaterial` via the `MeshVertex` and `PbrFragment` markers,
62+
which corresponding to entry points defined in [`bevy-pbr-rust`](https://github.com/Bevy-Rust-GPU/bevy-pbr-rust).

0 commit comments

Comments
 (0)