#ifndef WALLENGINE_EFFECT_H #define WALLENGINE_EFFECT_H #include #include #include "texture.h" namespace wp { using json = nlohmann::json; class effect : public irr::video::IShaderConstantSetCallBack { public: effect (json json_data); virtual void OnSetConstants (irr::video::IMaterialRendererServices* services, int32_t userData); std::vector & getTextureList (); irr::s32 getMaterialType (); private: std::vector m_textures; std::string m_content; json m_json; irr::io::path m_file; irr::s32 m_materialType; std::vector m_passes; }; } #endif //WALLENGINE_EFFECT_H