material.h 541 B

1234567891011121314151617181920212223242526
  1. #pragma once
  2. #include <irrlicht/irrlicht.h>
  3. #include <nlohmann/json.hpp>
  4. #include "materials/passes.h"
  5. namespace wp::core::objects::images
  6. {
  7. using json = nlohmann::json;
  8. class material
  9. {
  10. public:
  11. static material* fromFile (irr::io::path filename);
  12. static material* fromJSON (json data);
  13. void insertPass (materials::passes* mass);
  14. std::vector <materials::passes*>* getPasses ();
  15. protected:
  16. material ();
  17. private:
  18. std::vector <materials::passes*> m_passes;
  19. };
  20. };