Skip to content

Releases: atbentley/bevy_blur_regions

v0.5.0

27 Oct 08:25
Compare
Choose a tag to compare

Support for the Visibility component in Bevy UI

Blur regions now respect the Visibility component of a node in Bevy UI. When a node is invisible, the blur region is not rendered. No additional config in application code is required to enable Visiblity support.

Thanks to Tam for contributing support for this.

Support for 2D cameras

2D cameras are now supported. There are no additional configuration steps required to make use of blurring with 2D cameras, add the BlurRegionsCamera component to the camera whose output should be blurred, and then add create blur regions as normal.

Added

  • Support for Visibility on bevy ui nodes.
  • Support for 2D cameras

Changed

  • egui: Upgrade to bevy_egui 0.30.

v0.4.0

19 Sep 10:21
Compare
Choose a tag to compare

This release adds support for rounded blur regions, as well as fixing a bug in the egui support.

Support for rounded blur regions

Blur regions now support border radius! Use border radius as normal in Bevy UI or egui and the property will automatically be picked up by the shader, no additional config in application code is needed.

Thanks to rlofc for contributing support for this.

Added

  • Support for rounded blur regions

Fixed

  • Fix an issue where blur regions from removed egui windows would remain on screen.

v0.3.0

06 Jul 09:38
Compare
Choose a tag to compare

This release upgrades to Bevy 0.14 as well as introduces a number of changes.

Upgrade to Bevy 0.14

Bevy Blur Regions now supports Bevy 0.14!

Improved blurring algorithm

The blurring is now a proper gaussian blur.

As apart of this improvement, the blur settings are now simplified. Applications that were previously making use of the blur settings will need to be updated. The settings example provides an interactive approach to gaining an understanding in how the settings influence the appearance of the blur.

// Before
blur_region_camera.radius = some_radius;
blur_region_camera.linear_steps = some_linear_steps;
blur_region_camera.radial_steps = some_radial_steps;

// After
blur_region_camera.circle_of_confusion = some_circle_of_confusion;

Thanks to pcwalton for the depth of field contribution to the bevy engine, which this feature is now based off.

Simplified egui integration

The show_with_blur interface that enables blurring of egui windows has been simplified.

This simplification is a breaking change. When upgrading from 0.2.0 to 0.3.0, calls to the show_with_blur function will need to be modified to remove the id and blur_regions parameters.

// Before
egui::Window::new("Blur").frame(frame).show_with_blur(
    egui::Id::new("Blur"),
    &mut blur_regions,
    contexts.ctx_mut(),
    |ui| ui.label("Blurry"),

// After
egui::Window::new("Blur").frame(frame).show_with_blur(
    contexts.ctx_mut(),
    |ui| ui.label("Blurry"),
);

Added

  • Add support for HDR render targets.
  • Add support for deband dithering during tonemapping.

Changed

  • Improve the blurring algorithm. The new implementation utilises the gaussian blur implementation originally contributed to bevy for the depth of field feature.
  • Change the settings on BlurRegionsCamera to only expose a new setting circle_of_confusion (previously it was radius, linear_steps, and radial_steps).
  • egui: Removed the need to pass in the egui's window id into the egui::Window::show_with_blur function. The window id is now automatically detected.
  • egui: Removed the need to pass in the BlurRegionsCamera into the egui::Window::show_with_blur function when there is only one BlurRegionsCamera.
  • bevy: Upgrade to Bevy 0.14.
  • egui: Upgrade to egui 0.28.

v0.2.0

31 Mar 19:38
Compare
Choose a tag to compare

This release introduces out of the box integration with egui. Currently only egui windows are supported, check out the egui example to see how it works.

Added

  • Integration with egui windows.

Changed

  • Switched all units from device coordinates to physical pixels. This has the side effect of removing the hard-coded scale factor that was in the shader.
  • Moved the Bevy UI integration behind the bevy_ui feature.

v0.1.0

30 Mar 22:34
Compare
Choose a tag to compare

Initial release of bevy_blur_regions

Added

  • Automatic blurring of Bevy UI nodes using the BlurRegion marker component.
  • Immediate mode blurring API using BlurRegionsCamera::blur.