#ifndef SAMPLE_POST_PROCESSING
#define SAMPLE_POST_PROCESSING

#include "../sleek/start.h"

namespace sample
{
    class Core;
    class PostProcessing : public sleek::device::event
    {
        public:
            PostProcessing(Core*) noexcept;
            virtual ~PostProcessing() noexcept;

            bool manage(sleek::device::input *a) noexcept override;

            void begin() noexcept;
            void end() noexcept;

            void draw() noexcept;
        protected:
            std::vector<std::shared_ptr<sleek::driver::shader>> pp;
            std::vector<std::shared_ptr<sleek::driver::fbo>> fb;
            std::shared_ptr<sleek::driver::material> mt;
            sleek::driver::MeshBuffer *mesh;
            Core *core;
    };
}

#endif