Bevy, a popular open source Rust based game engine, just released version 0.8. This update adds several new features including a new material system, improvements to the ECS system but perhaps most of all is the new much more flexible and powerful camera system.
Key features of Bevy 0.8 include:
- New Material System: Custom shaders are now much easier to define, thanks to the new Material trait and AsBindGroup derive.
- Camera-driven Rendering: Each Camera now configures what it renders and how it renders it. Easily layer camera renders on top of each other, do split screen, or render to a texture in just a few lines of code.
- Built-in Shader Modularization: Many built-in shader types and functions are now importable. Notably, custom shaders can now import the PBR shader logic
- Spot Lights: A new light type that emits light in a cone shape from a fixed point.
- Visibility Inheritance: Hiding an entity now also hides all of its descendants in the hierarchy.
- Upgraded to wgpu 0.13: Uses a new, more ergonomic WGSL shader syntax.
- Automatic Mesh Tangent Generation: If tangents are missing for a mesh, generate them with mikktspace.
- Renderer Optimizations: Parallel frustum culling and unstable sorts for unbatched render phases yielded some big wins!
- Scene Bundle: Easily spawn scenes using a normal Bevy bundle and extend them with new components and children.
- Scripting / Modding Progress: Untyped ECS APIs: A step toward 3rd party scripting language support! Interact with Bevy ECS internals directly via pointers.
- ECS Query Ergonomics and Usability: Queries now implement
IntoIterand mutable queries can be converted to immutable queries.
- ECS Internals Refactors: Sweeping changes to Bevy ECS internals that make it simpler, safer, and easier to maintain.
- Reflection Improvements: Support for reflecting more types, ECS resource reflection, untyped reflection, improved internals.
- Hierarchy Commands: Hierarchy updates now use “transactional commands” to ensure hierarchy consistency at all times.
- Bevy UI Now Uses Taffy: We’ve swapped to (and help maintain) a collaborative fork of the now abandoned Stretch UI layout library. Exponential blow-up bug begone!
You can learn more about the Rust powered game engine Bevy 0.8 in the video below.