Skip to content

N44: rust-gpu-sdf #1328

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Apr 16, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 34 additions & 1 deletion content/news/044/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -613,11 +613,44 @@ for users of Bevy and WGPU.
_Discussion: [/r/bevy](https://reddit.com/r/bevy/comments/11hrnmz/bevy_rustgpu_joins_the_fray)_

[Bevy Rust-GPU]: https://github.com/bevy-rust-gpu
[bevy]: https://github.com/bevyengine/bevy
[rust-gpu]: https://github.com/EmbarkStudios/rust-gpu
[@Shfty]: https://github.com/Shfty
[@eddyb]: https://github.com/eddyb

### [rust-gpu-sdf]

![3d-distance-field](rust-gpu-sdf.gif)
_An implicit surface defined compositionally, raymarched, and shaded entirely
in Rust_

Announcing [rust-gpu-sdf], by [@Shfty]; a `no-std` signed distance field library
designed for use on both CPU and GPU.

[Signed distance fields][sdf-wiki] are a powerful computational tool
that allow a surface to be represented by a function from position to distance.
This has [intuitive applications][raymarchingdf] in various domains such as rendering,
collision, meshing, and volume modeling, providing the means to represent analytically
smooth geometry, dynamic morphing (as pictured), and various other effects
that would traditionally require specialized tools to model.

[rust-gpu-sdf] aims to enumerate this domain to the fullest extent allowed
by Rust's type system, lifting its traditionally monolithic implementation style
into a set of intuitive composable operators, and leveraging a natural synergy
with functional programming to provide powerful compositional tools.

Contrary to its working title, [rust-gpu-sdf] is actually [rust-gpu]-agnostic,
so can be used anywhere Rust can;
it's presently named as such due to being built as the primary consumer of [bevy-rust-gpu],
with a view to providing a performant and compositional way to compile SDFs
into SPIR-V for rendering on the GPU.

It's presently in a heavy-development prerelease state, so watch this space!

[rust-gpu-sdf]: https://github.com/bevy-rust-gpu/rust-gpu-sdf
[bevy-rust-gpu]: https://github.com/bevy-rust-gpu
[sdf-wiki]: https://en.wikipedia.org/wiki/Signed_distance_function
[raymarchingdf]: https://iquilezles.org/articles/raymarchingdf

## Popular Workgroup Issues in Github

<!-- Up to 10 links to interesting issues -->
Expand Down
Binary file added content/news/044/rust-gpu-sdf.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.