All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
IInteriorsMaterialProviderFactory.h
1 #pragma once
2 
3 #include "Interiors.h"
4 #include "InteriorsMaterials.h"
5 #include "Modules.h"
6 #include "Rendering.h"
7 #include "Lighting.h"
8 #include "CityThemes.h"
9 #include "AsyncTexturing.h"
10 #include "ITimeProvider.h"
11 
12 namespace Eegeo
13 {
14  namespace Resources
15  {
16  namespace Interiors
17  {
18  namespace Materials
19  {
21  {
22  public:
23 
24  virtual IInteriorsMaterialFactoryProvider* CreateInteriorsMaterialProvider(
25  Rendering::Shaders::ShaderIdGenerator& shaderIdGenerator,
26  Rendering::Materials::MaterialIdGenerator& materialIdGenerator,
27  const Lighting::GlobalLighting& globalLighting,
28  IInteriorsMaterialAssignmentObserver& materialAssignmentObserver,
29  IInteriorsTextureResourceService& textureResourceService,
30  IInteriorsMaterialDtoRepository& interiorsMaterialDtoRepository,
31  const Helpers::ITimeProvider& timeProvider) = 0;
32 
33  virtual IInteriorsTextureResourceBuilder* CreateInteriorsTextureResourceBuilder(
36  CityThemes::ICityThemesService& cityThemesService) = 0;
37 
38  virtual IInteriorsCubeTextureResourceBuilder* CreateInteriorsCubeTextureResourceBuilder(
41  CityThemes::ICityThemesService& cityThemesService) = 0;
42  };
43  }
44  }
45  }
46 }
47 
48