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 articleBevy 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)
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 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
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
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
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.
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).
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.
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.
Related
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 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
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
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
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.