CMaterial.h 989 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #pragma once
  2. #include "WallpaperEngine/Core/Objects/Images/CMaterial.h"
  3. #include "WallpaperEngine/Core/Objects/CEffect.h"
  4. #include "WallpaperEngine/Render/Objects/Effects/CPass.h"
  5. #include "WallpaperEngine/Render/Objects/CEffect.h"
  6. #include "CPass.h"
  7. using namespace WallpaperEngine;
  8. namespace WallpaperEngine::Render::Objects
  9. {
  10. class CEffect;
  11. class CImage;
  12. }
  13. namespace WallpaperEngine::Render::Objects::Effects
  14. {
  15. class CPass;
  16. class CMaterial
  17. {
  18. friend class CPass;
  19. public:
  20. CMaterial (const Render::Objects::CEffect* effect, const Core::Objects::Images::CMaterial* material);
  21. const std::vector<CPass*>& getPasses () const;
  22. CImage* getImage () const;
  23. const Core::Objects::Images::CMaterial* getMaterial () const;
  24. private:
  25. void generatePasses ();
  26. const Render::Objects::CEffect* m_effect;
  27. const Core::Objects::Images::CMaterial* m_material;
  28. std::vector<CPass*> m_passes;
  29. };
  30. };