From f98b27592b2482dc89adc055073a3ee015f2424e Mon Sep 17 00:00:00 2001 From: Silas Bartha Date: Wed, 24 Apr 2024 14:03:15 -0400 Subject: Initial Commit --- src/lib.rs | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/lib.rs (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..fdf3fa8 --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,43 @@ +use bevy::{prelude::*, render::{RenderApp, render_graph::{RenderGraphApp, ViewNodeRunner}, extract_component::ExtractComponentPlugin}, asset::embedded_asset, core_pipeline::core_3d::graph::{Core3d, Node3d}}; + +use crate::components::DitherPostProcessSettings; + +pub struct DitherPostProcessPlugin; + +pub mod components; +mod resources; +mod nodes; + +impl Plugin for DitherPostProcessPlugin { + fn build(&self, app: &mut App) { + embedded_asset!(app, "../assets/shaders/dither_post_process.wgsl"); + + app.add_plugins(( + ExtractComponentPlugin::::default(), + )); + + let Ok(render_app) = app.get_sub_app_mut(RenderApp) else { + return; + }; + + render_app.add_render_graph_node::>( + Core3d, + nodes::DitherRenderLabel, + ).add_render_graph_edges( + Core3d, + ( + Node3d::Tonemapping, + nodes::DitherRenderLabel, + Node3d::EndMainPassPostProcessing, + ), + ); + } + + fn finish(&self, app: &mut App) { + let Ok(render_app) = app.get_sub_app_mut(RenderApp) else { + return; + }; + + render_app.init_resource::(); + } +} -- cgit v1.2.3