#graphics #antialiasing #smaa

smaa

A library for post process antialiasing using SMAA

8 breaking releases

0.9.0 Feb 9, 2023
0.8.0 Oct 9, 2022
0.7.0 Jul 3, 2022
0.6.0 Dec 22, 2021
0.2.1 Mar 28, 2021

#19 in Rendering

Download history 36/week @ 2022-12-04 50/week @ 2022-12-11 48/week @ 2022-12-18 23/week @ 2022-12-25 28/week @ 2023-01-01 30/week @ 2023-01-08 14/week @ 2023-01-15 51/week @ 2023-01-22 57/week @ 2023-01-29 64/week @ 2023-02-05 36/week @ 2023-02-12 69/week @ 2023-02-19 36/week @ 2023-02-26 50/week @ 2023-03-05 22/week @ 2023-03-12 46/week @ 2023-03-19

160 downloads per month
Used in 3 crates (2 directly)

MIT license

1.5MB
17K 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, _, control_flow| {
    match event {
        Event::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

~5–38MB
~649K SLoC