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