July 4th, 2024

Bevy 0.14 – Data driven game engine

Bevy 0.14 release includes Virtual Geometry, Sharp Screen Space Reflections, Depth of Field, Motion Blur, Volumetric Fog, and more. Updates also cover Animation Blending, ECS Observers, Color API, and UI improvements.

Read original articleLink Icon
Bevy 0.14 – Data driven game engine

Bevy 0.14 has been released, featuring various new features and improvements thanks to the contributions of 256 individuals. Some highlights include Virtual Geometry for efficient rendering, Sharp Screen Space Reflections for real-time reflections, Depth of Field effects, Per-Object Motion Blur, Volumetric Fog and Lighting, Filmic Color Grading, and more. The update also introduces features like Animation Blending, ECS Observers and Hooks, Improved Color API, and Rounded Corners for UI elements. Bevy 0.14 was prepared using a release candidate process to ensure a smooth upgrade experience. Virtual Geometry, an experimental feature, allows for rendering large amounts of geometry efficiently without explicit LODs. It preprocesses high-poly meshes into Meshlets for improved performance. Screen-Space Reflections approximate reflections in real-time, but with some limitations like no temporal filtering and performance considerations. To use Screen-Space Reflections, the ScreenSpaceReflectionsSettings component needs to be added to the camera along with DepthPrepass and DeferredPrepass components. Overall, Bevy 0.14 brings a range of enhancements for game developers using the Rust-based game engine.

Related

Eight million pixels and counting: improving texture atlas allocation in Firefox (2021)

Eight million pixels and counting: improving texture atlas allocation in Firefox (2021)

Improving texture atlas allocation in WebRender with the guillotiere crate reduces texture memory usage. The guillotine algorithm was replaced due to fragmentation issues, leading to a more efficient allocator. Visualizing the atlas in SVG aids debugging. Rust's simplicity and Cargo fuzz testing are praised for code development and robustness. Enhancements in draw call batching and texture upload aim to boost performance on low-end Intel GPUs by optimizing texture atlases.

HybridNeRF: Efficient Neural Rendering

HybridNeRF: Efficient Neural Rendering

HybridNeRF combines surface and volumetric representations for efficient neural rendering, achieving 15-30% error rate improvement over baselines. It enables real-time framerates of 36 FPS at 2K×2K resolutions, outperforming VR-NeRF in quality and speed on various datasets.

Homegrown Rendering with Rust

Homegrown Rendering with Rust

Embark Studios develops a creative platform for user-generated content, emphasizing gameplay over graphics. They leverage Rust for 3D rendering, introducing the experimental "kajiya" renderer for learning purposes. The team aims to simplify rendering for user-generated content, utilizing Vulkan API and Rust's versatility for GPU programming. They seek to enhance Rust's ecosystem for GPU programming.

Reflection for C++26

Reflection for C++26

The P2996R4 document proposes a reduced set of static reflection features in C++26, using constant expressions, a reflection operator, metafunctions, and splicers. Implementation progress is ongoing by Lock3 and EDG.

We increased our rendering speeds by 70x using the WebCodecs API

We increased our rendering speeds by 70x using the WebCodecs API

Revideo, a TypeScript framework, boosted rendering speeds by 70 times with WebCodecs API. Challenges overcome by browser-based video encoding. Limited audio processing and browser compatibility remain.

Link Icon 6 comments
By @sapein - 3 months
The states improvements are definitely nice, and I did run into the whole "Unable to transition into current state" issue, as I was using it for a respawn. I ended up just making a "Respawn" state, and then quickly switch out of it to reset back to the original.

With this being in it definitely would make things a lot cleaner in some ways, as I can at least get the whole "Re-enter State" a bit easier.

Also the Observers and Hooks are really nice and will allow me to more cleanly implement a feature that I've been needing (Optional Components).

By @_cart - 3 months
Bevy's creator and project lead here. Feel free to ask me anything!
By @practicalrs - 3 months
Thanks to the whole Bevy team for their hard work on this release!
By @mrtracy - 3 months
This release has Observer and Hooks which in my opinion really elevate the ability to express complex, reusable structures in the ECS.

For example, one of the well-known challenges in the paradigm is working with hierarchies or graphs - observers are a powerful tool for communicating between specific entities, and should make this a lot easier to express.

Hooks offer the ability to enforce cross-component consistency in a way that wasn’t previously available.

By @troydavis - 3 months
Effectively a dupe - this just got attention 3 months ago (https://news.ycombinator.com/item?id=39672947, https://news.ycombinator.com/item?id=39677009) and 8 months ago (https://news.ycombinator.com/item?id=38144417).

Once a year has been suggested as the typical maximum frequency: https://news.ycombinator.com/item?id=9775868 . Consider reposting in 2025.

Also, coordinating comments and upvotes won’t do you any favors. It’s an easy way to get all submissions banned.