Skip to content

Commit

Permalink
some interesting crates from bevy's ecosystem this month (#1540)
Browse files Browse the repository at this point in the history
Co-authored-by: Jan Hohenheim <[email protected]>
  • Loading branch information
ChristopherBiscardi and janhohenheim authored Jul 1, 2024
1 parent 22713e6 commit 9ff475e
Show file tree
Hide file tree
Showing 6 changed files with 68 additions and 3 deletions.
1 change: 1 addition & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ jobs:
--exclude 'https://(www\.|old\.)?reddit\.com'
--exclude 'https://www.patreon.com'
--exclude 'https://gamedev.social'
--exclude 'dev.epicgames.com'
${{ steps.changed-files.outputs.changed_files }}
- name: Install Zola
run: |
Expand Down
Binary file added content/news/052/berdicles.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/news/052/bevy_hanabi_trails.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/news/052/bevy_light_2d.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
70 changes: 67 additions & 3 deletions content/news/052/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -299,7 +299,8 @@ educational software at a startup with no issues so far.

### [FMOD-oxide][fmod-oxide]

Safe rust bindings to the FMOD sound engine. This crate tries to be as rusty and low-cost as possible, without comprimising on any APIs.
FMOD-oxide brings safe rust bindings to the FMOD sound engine.
This crate tries to be as rusty and low-cost as possible, without comprimising on any APIs.
Certain APIs, such as loading banks from a pointer, are marked as unsafe, but are still available for use.

[fmod-oxide]: https://crates.io/crates/fmod-oxide
Expand Down Expand Up @@ -337,13 +338,61 @@ its core abstraction can be used to manage signals-powered reactivity for any en

[haalka]: https://github.com/databasedav/haalka

### [bevy_light_2d][bevy_light_2d]

![A candle shining 2D light](bevy_light_2d.gif)
_A candle shining 2D light_

bevy_light_2d is a new general purpose 2D lighting for the Bevy game engine.
Designed to be simple to use, yet expressive enough to fit a variety of needs. Features include

- Component driven design
- Configurable point lights
- Camera specific ambient light
- Single camera rendering

[bevy_light_2d]: https://github.com/jgayfer/bevy_light_2d

### [bevy_hanabi][bevy_hanabi] 0.11

![Trails in Hanabi](bevy_hanabi_trails.gif)
_Trails in Hanabi_

Hanabi is a GPU particle system plugin for the Bevy game engine.
The most notable new feature in [bevy_hanabi 0.11][bevy_hanabi] is support for trails and ribbons.

[bevy_hanabi]: https://github.com/djeedai/bevy_hanabi

### [berdicles][berdicles]

![A fountain of particles](berdicles.jpg)
_A fountain of particles_

berdicles is an expressive CPU particle system for the Bevy engine. Features include:

- Instancing based CPU particles.
- Expressive non-physics based particle traits.
- Familiar setup with Bevy's native Material and Mesh.
- Particles as emitters.
- Mesh based particle trails.
- Particle events that spawn other particles.
- Billboard particles.

[berdicles]: https://github.com/mintlu8/berdicles

### Other Library Updates and Releases

- [gdext-coroutines](https://github.com/Houtamelo/gdext_coroutines): Run Rust coroutines in Godot 4.2+ (through GDExtension), inspired on Unity's Coroutines design.
- [FunDSP 0.18](https://github.com/SamiPerttu/fundsp): FunDSP is an audio DSP ([digital signal processing](https://en.wikipedia.org/wiki/Digital_signal_processing))
- [glam 0.28]: `glam` is a foundational crate when it comes to math in general in Rust.
For example, its types are directly visible in the `Vec` types Bevy consumes and re-exports, like `Vec3`.
v0.28 brings AArch64 NEON SIMD support as well as a couple smaller breaking changes.
- [gdext-coroutines]: Run Rust coroutines in Godot 4.2+ (through GDExtension), inspired on Unity's Coroutines design.
- [FunDSP 0.18]: FunDSP is an audio DSP ([digital signal processing](https://en.wikipedia.org/wiki/Digital_signal_processing))
library for audio processing and synthesis. This release is a rewrite that adds no_std and SIMD support.

[glam 0.28]: https://github.com/bitshifter/glam-rs
[gdext-coroutines]: https://github.com/Houtamelo/gdext_coroutines
[FunDSP 0.18]: https://github.com/SamiPerttu/fundsp

## Interviews

### [Metalmancy @ OpenSauce][metalmancy_interview]
Expand Down Expand Up @@ -397,6 +446,21 @@ _Discussions: [lobste.rs](https://lobste.rs/s/dsqumn/dioxus_labs_high_level_rust
[dioxus-labs]: https://dioxuslabs.com/
[leaving-post]: https://loglog.games/blog/leaving-rust-gamedev/

### Virtual Geometry in Bevy 0.14

![The Stanford bunny split into meshlets](meshlets.jpg)
_The Stanford bunny split into meshlets_

Ever wondered how [Unreal 5's Nanite][nanite] works under the hood?
Jasmine, who reimplemented the virtual geometry technology for Bevy's upcoming 0.14 release,
wrote a [post][meshlets-post] explaining the concepts and the nitty-gritty details of the implementation.
The post is very technical in nature, so if you've never heard of this technology before,
they recommend you first watch Brian Karis' SIGGRAPH 2021 lecture [A Deep Dive into Nanite Virtualized Geometry][nanite-talk] ([slides][nanite-slides]).

[nanite]: https://dev.epicgames.com/documentation/en-us/unreal-engine/nanite-virtualized-geometry-in-unreal-engine
[meshlets-post]: https://jms55.github.io/posts/2024-06-09-virtual-geometry-bevy-0-14/
[nanite-talk]: https://www.youtube.com/watch?v=eviSykqSUUw
[nanite-slides]: https://advances.realtimerendering.com/s2021/Karis_Nanite_SIGGRAPH_Advances_2021_final.pdf

## Jobs

Expand Down
Binary file added content/news/052/meshlets.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 9ff475e

Please sign in to comment.