use crate::components::Program;

pub mod linear;

pub trait ColorMap {
    fn attach_with_program(
        &mut self,
        gl: &glow::Context,
        program: &crate::components::Program,
    ) -> crate::errors::Result<()>;

    fn bind_texture(&self, gl: &glow::Context, program: &Program) -> crate::errors::Result<()>;

    fn snippet_ref(&self) -> &crate::components::Snippet;

    fn destroy(&mut self, gl: &glow::Context);
}
