Skip to content

Commit 80c4b0a

Browse files
committed
N44: rust-gpu-sdf
1 parent 8600ed9 commit 80c4b0a

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

content/news/044/index.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -504,6 +504,7 @@ We welcome [contributions][tarsila-contrib]! Big thanks to contributors
504504

505505
## Library Updates
506506

507+
<<<<<<< HEAD
507508
### [`bevy_text_mode`]
508509

509510
![Screenshot of 1-bit sprites drawn using bevy_text_mode.](bevy_text_mode.png)
@@ -559,6 +560,34 @@ _Discussions:
559560
[Matchbox]: https://github.com/johanhelsing/matchbox
560561
[matchbox-0.6]: https://johanhelsing.studio/posts/matchbox-0-6
561562

563+
### [rust-gpu-sdf]
564+
565+
![3d-distance-field](rust-gpu-sdf.gif)
566+
_An implicit surface defined compositionally, raymarched, and shaded entirely in Rust_
567+
568+
Announcing [rust-gpu-sdf], by [@Shfty]; a `no-std` signed distance field library designed for use on both CPU and GPU.
569+
570+
[Signed distance fields](https://en.wikipedia.org/wiki/Signed_distance_function) are a powerful computational tool
571+
that allow a surface to be represented by a function from position to distance.
572+
This has [intuitive applications](https://iquilezles.org/articles/raymarchingdf/) in various domains such as rendering, collision, meshing, and volume modeling,
573+
providing the means to represent analytically smooth geometry, dynamic morphing (as pictured),
574+
and various other effects that would traditionally require specialized tools to model.
575+
576+
[rust-gpu-sdf] aims to enumerate this domain to the fullest extent allowed by Rust's type system,
577+
lifting its traditionally monolithic implementation style into a set of intuitive composable operators,
578+
and leveraging a natural synergy with functional programming to provide powerful compositional tools.
579+
580+
Contrary to its working title, [rust-gpu-sdf] is actually [rust-gpu]-agnostic, so can be used anywhere Rust can;
581+
it's presently named as such due to being built as the primary consumer of [bevy-rust-gpu],
582+
with a view to providing a performant and compositional way to compile SDFs into SPIR-V for rendering on the GPU.
583+
584+
It's presently in a heavy-development prerelease state, so watch this space!
585+
586+
[@Shfty]: https://github.com/Shfty
587+
[rust-gpu-sdf]: https://github.com/bevy-rust-gpu/rust-gpu-sdf
588+
[bevy-rust-gpu]: https://github.com/bevy-rust-gpu
589+
[rust-gpu]: https://github.com/EmbarkStudios/rust-gpu
590+
562591
## Popular Workgroup Issues in Github
563592

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

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

17.7 MB
Loading

0 commit comments

Comments
 (0)