pub trait Effect {
type Frame<'a>
where
Self: 'a;
fn resize(&mut self, device: &wgpu::Device, size: &wgpu::Extent3d);
fn start_frame<'a>(
&'a mut self,
device: &'a wgpu::Device,
queue: &'a wgpu::Queue,
output_view: &'a wgpu::TextureView,
) -> Self::Frame<'a>;
}