All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
InteriorsDiffuseTexturedMaterialFactory.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Interiors.h"
6 #include "IInteriorsMaterialFactory.h"
7 #include "Types.h"
8 #include "IdTypes.h"
9 #include "Lighting.h"
10 #include <string>
11 
12 namespace Eegeo
13 {
14  namespace Resources
15  {
16  namespace Interiors
17  {
19  {
20  public:
22  const InteriorsDiffuseTexturedShader& interiorsDiffuseTexturedShader,
23  const Lighting::GlobalLighting& globalLighting,
24  IInteriorsMaterialAssignmentObserver& materialAssignmentObserver,
25  IInteriorsTextureResourceProvider& interiorsTextureResourceProvider);
26 
27  Eegeo::Rendering::Materials::IMaterial* TryCreate(const std::string& interiorName,
28  const InteriorMaterialData& interiorMaterialData);
29 
30 
31  private:
32  Rendering::Materials::MaterialIdGenerator& m_materialIdGenerator;
33  const InteriorsDiffuseTexturedShader& m_interiorsDiffuseTexturedShader;
34  const Lighting::GlobalLighting& m_globalLighting;
35  IInteriorsMaterialAssignmentObserver& m_materialAssignmentObserver;
36  IInteriorsTextureResourceProvider& m_interiorsTextureResourceProvider;
37  };
38  }
39  }
40 }