#ifndef _EFFECT_H #define _EFFECT_H #include "../json.h" #include "../engine.h" namespace Mauri { struct EffectBuffer { std::string name; f32 scale; }; class Pass; class RenderPass; class Effect { public: Effect() = default; ~Effect(); u32 id; std::string name; bool visible; std::string buffer_id; std::vector passes; static auto parse(Parser &pr, const json &root) -> Effect *; auto load(Engine *engine, Object *object, bool last) -> void; auto draw(Engine *engine) -> void; private: std::vector passes0; std::vector passes1; std::vector fbos; }; } // namespace Mauri #endif // _EFFECT_H