Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 5f95644

Browse filesBrowse files
authored
N44: rust-gpu-sdf (rust-gamedev#1328)
1 parent 1d9c5ca commit 5f95644
Copy full SHA for 5f95644

File tree

Expand file treeCollapse file tree

2 files changed

+34
-1
lines changed
Filter options
Expand file treeCollapse file tree

2 files changed

+34
-1
lines changed

‎content/news/044/index.md

Copy file name to clipboardExpand all lines: content/news/044/index.md
+34-1Lines 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

Copy file name to clipboard
2.58 MB
Loading

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.