13 breaking releases

0.14.0 May 1, 2024
0.13.0 Mar 9, 2024
0.12.0 Nov 25, 2023
0.10.0 Jun 10, 2023
0.2.1 Mar 28, 2021

#12 in Rendering

Download history 14/week @ 2024-02-19 43/week @ 2024-02-26 140/week @ 2024-03-04 378/week @ 2024-03-11 144/week @ 2024-03-18 132/week @ 2024-03-25 67/week @ 2024-04-01 235/week @ 2024-04-08 137/week @ 2024-04-15 42/week @ 2024-04-22 237/week @ 2024-04-29 41/week @ 2024-05-06

457 downloads per month
Used in 4 crates (3 directly)

MIT license

1.5MB
16K SLoC

smaa-rs crates.io docs.rs

Post-process antialiasing for wgpu-rs, relying on the SMAA reference implementation.

Example

// Create SMAA target
let mut smaa_target = SmaaTarget::new(
    &device,
    &queue,
    window.inner_size().width,
    window.inner_size().height,
    swapchain_format,
    SmaaMode::Smaa1X,
);

// Main loop
event_loop.run(move |event, event_loop| {
    if let Event::WindowEvent { event, .. } = event {
        match event {
            WindowEvent::RedrawRequested => {
                let output_frame = surface.get_current_texture().unwrap();
                let output_view = output_frame.texture.create_view(&Default::default());
                let smaa_frame = smaa_target.start_frame(&device, &queue, &output_view);

                // Render the scene into `*smaa_frame`.
                // [...]

                smaa_frame.resolve();
                output_frame.present();
            }
            _ => {}
        }
    }
});

Dependencies

~10–42MB
~664K SLoC