Skip to content

Commit 5f95644

Browse files
authored
N44: rust-gpu-sdf (#1328)
1 parent 1d9c5ca commit 5f95644

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

content/news/044/index.md

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -613,11 +613,44 @@ for users of Bevy and WGPU.
613613
_Discussion: [/r/bevy](https://reddit.com/r/bevy/comments/11hrnmz/bevy_rustgpu_joins_the_fray)_
614614

615615
[Bevy Rust-GPU]: https://github.com/bevy-rust-gpu
616-
[bevy]: https://github.com/bevyengine/bevy
617616
[rust-gpu]: https://github.com/EmbarkStudios/rust-gpu
618617
[@Shfty]: https://github.com/Shfty
619618
[@eddyb]: https://github.com/eddyb
620619

620+
### [rust-gpu-sdf]
621+
622+
![3d-distance-field](rust-gpu-sdf.gif)
623+
_An implicit surface defined compositionally, raymarched, and shaded entirely
624+
in Rust_
625+
626+
Announcing [rust-gpu-sdf], by [@Shfty]; a `no-std` signed distance field library
627+
designed for use on both CPU and GPU.
628+
629+
[Signed distance fields][sdf-wiki] are a powerful computational tool
630+
that allow a surface to be represented by a function from position to distance.
631+
This has [intuitive applications][raymarchingdf] in various domains such as rendering,
632+
collision, meshing, and volume modeling, providing the means to represent analytically
633+
smooth geometry, dynamic morphing (as pictured), and various other effects
634+
that would traditionally require specialized tools to model.
635+
636+
[rust-gpu-sdf] aims to enumerate this domain to the fullest extent allowed
637+
by Rust's type system, lifting its traditionally monolithic implementation style
638+
into a set of intuitive composable operators, and leveraging a natural synergy
639+
with functional programming to provide powerful compositional tools.
640+
641+
Contrary to its working title, [rust-gpu-sdf] is actually [rust-gpu]-agnostic,
642+
so can be used anywhere Rust can;
643+
it's presently named as such due to being built as the primary consumer of [bevy-rust-gpu],
644+
with a view to providing a performant and compositional way to compile SDFs
645+
into SPIR-V for rendering on the GPU.
646+
647+
It's presently in a heavy-development prerelease state, so watch this space!
648+
649+
[rust-gpu-sdf]: https://github.com/bevy-rust-gpu/rust-gpu-sdf
650+
[bevy-rust-gpu]: https://github.com/bevy-rust-gpu
651+
[sdf-wiki]: https://en.wikipedia.org/wiki/Signed_distance_function
652+
[raymarchingdf]: https://iquilezles.org/articles/raymarchingdf
653+
621654
## Popular Workgroup Issues in Github
622655

623656
<!-- Up to 10 links to interesting issues -->

content/news/044/rust-gpu-sdf.gif

2.58 MB
Loading

0 commit comments

Comments
 (0)