All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
EnvironmentMaterialModule.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Modules.h"
7 #include "Rendering.h"
8 #include "GLHelpers.h"
9 #include "Lighting.h"
10 #include "Helpers.h"
11 #include "AsyncTexturing.h"
12 
13 namespace Eegeo
14 {
15  namespace Modules
16  {
17  namespace Map
18  {
20  {
21  Eegeo::Rendering::EnvironmentMaterialFactory* m_pEnvironmentMaterialFactory;
22  Eegeo::Rendering::EnvironmentTextures* m_pEnvironmentTextures;
23 
25  Rendering::Materials::MaterialIdGenerator& materialIdGenerator,
26  Lighting::GlobalLighting& globalLighting,
27  Lighting::GlobalFogging& globalFogging,
28  Lighting::GlobalShadowing& globalShadowing,
29  Rendering::AsyncTexturing::IAsyncTexture& placeholderTexture,
30  Rendering::AsyncTexturing::IAsyncTexture& placeholderCubeTexture,
31  float waterEnvMapFadeoutAltitude);
32 
33  public:
34  static EnvironmentMaterialModule* Create(Core::RenderingModule& renderingModule,
35  Core::LightingModule& lightingModule,
36  Rendering::AsyncTexturing::IAsyncTexture& placeholderTexture,
37  Rendering::AsyncTexturing::IAsyncTexture& placeholderCubeTexture,
38  float waterEnvMapFadeoutAltitude);
39 
41 
42  Rendering::EnvironmentMaterialFactory& GetEnvironmentMaterialFactory() const;
43  Rendering::EnvironmentMaterialRepository& GetEnvironmentMaterialRepository() const;
44  Eegeo::Rendering::EnvironmentTextures &GetEnvironmentTextures() const;
45  };
46  }
47  }
48 }