use crate::gpu::effect::MaskedFilterPipeline;
use crate::gpu::filter::FilterPipelineRegistration;
fn shader_source() -> String {
let color = include_str!("../../../shaders/lib/color.wgsl");
let invert = include_str!("../../../shaders/filters/invert.wgsl");
format!("{color}\n{invert}")
}
fn create_pipeline(device: &wgpu::Device) -> MaskedFilterPipeline {
MaskedFilterPipeline::new(
device,
"filter-invert",
&shader_source(),
"fs_invert",
"fs_invert_masked",
)
}
pub fn register() -> FilterPipelineRegistration {
FilterPipelineRegistration {
type_id: "invert",
display_name: "Invert Colors",
create_pipeline,
}
}