CMaterial.cpp 806 B

1234567891011121314151617181920212223242526272829303132
  1. #include "CMaterial.h"
  2. using namespace WallpaperEngine::Render::Objects;
  3. using namespace WallpaperEngine::Render::Objects::Effects;
  4. CMaterial::CMaterial (const Render::Objects::CEffect* effect, const Core::Objects::Images::CMaterial* material) :
  5. m_effect (effect),
  6. m_material (material)
  7. {
  8. this->generatePasses ();
  9. }
  10. const std::vector<CPass*>& CMaterial::getPasses () const
  11. {
  12. return this->m_passes;
  13. }
  14. CImage* CMaterial::getImage () const
  15. {
  16. return this->m_effect->getImage ();
  17. }
  18. void CMaterial::generatePasses ()
  19. {
  20. auto cur = this->m_material->getPasses ().begin ();
  21. auto end = this->m_material->getPasses ().end ();
  22. // these are simple now, just create the entries and done
  23. for (; cur != end; cur ++)
  24. this->m_passes.emplace_back (new CPass (this, *cur));
  25. }