All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
EnvironmentStateTextures.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Rendering.h"
6 #include "IdTypes.h"
7 #include "AsyncTexturing.h"
8 #include <vector>
9 
10 namespace Eegeo
11 {
12  namespace Rendering
13  {
15  {
16  private:
17  AsyncTexturing::IAsyncTexture& RailDiffuse;
18  AsyncTexturing::IAsyncTexture& TramlineDiffuse;
19  AsyncTexturing::IAsyncTexture& TreeDiffuse;
20  AsyncTexturing::IAsyncTexture& TreeTopDiffuse;
21  AsyncTexturing::IAsyncTexture& BuildingsDiffuse;
22  AsyncTexturing::IAsyncTexture& RoadDiffuse;
23  AsyncTexturing::IAsyncTexture& WaterNormal;
24  AsyncTexturing::IAsyncTexture* WaterReflectionCubeMap;
25  AsyncTexturing::IAsyncTexture& AsyncPlaceholderDiffuse;
26  AsyncTexturing::IAsyncTexture& PlaceholderNoDataDiffuse;
27  AsyncTexturing::IAsyncTexture* OverlayEffect;
28  AsyncTexturing::IAsyncTexture& VehicleDiffuse;
29  AsyncTexturing::IAsyncTexture& TrainDiffuse;
30  AsyncTexturing::IAsyncTexture& TramDiffuse;
31  AsyncTexturing::IAsyncTexture& PlaneDiffuse;
32  std::vector<AsyncTexturing::IAsyncTexture*> LcmDiffuse;
33  std::vector<AsyncTexturing::IAsyncTexture*> LcmLodDiffuse;
34 
35  public:
37  AsyncTexturing::IAsyncTexture& railDiffuse,
38  AsyncTexturing::IAsyncTexture& tramlineDiffuse,
39  AsyncTexturing::IAsyncTexture& treeDiffuse,
40  AsyncTexturing::IAsyncTexture& treeTopDiffuse,
41  AsyncTexturing::IAsyncTexture& buildingsDiffuse,
42  AsyncTexturing::IAsyncTexture& roadDiffuse,
43  AsyncTexturing::IAsyncTexture& vehicleDiffuse,
44  AsyncTexturing::IAsyncTexture& trainDiffuse,
45  AsyncTexturing::IAsyncTexture& tramDiffuse,
46  AsyncTexturing::IAsyncTexture& planeDiffuse,
47  AsyncTexturing::IAsyncTexture& waterNormal,
48  AsyncTexturing::IAsyncTexture* waterReflectionCubeMap,
49  AsyncTexturing::IAsyncTexture& asyncPlaceholderDiffuse,
50  AsyncTexturing::IAsyncTexture& placeholderNoDataDiffuse,
51  AsyncTexturing::IAsyncTexture* overlayEffect,
52  const std::vector<AsyncTexturing::IAsyncTexture*>& lcmDiffuse,
53  const std::vector<AsyncTexturing::IAsyncTexture*>& lcmLodDiffuse);
54 
55  AsyncTexturing::IAsyncTexture& GetRailDiffuse() const;
56  AsyncTexturing::IAsyncTexture& GetTramlineDiffuse() const;
57  AsyncTexturing::IAsyncTexture& GetTreeDiffuse() const;
58  AsyncTexturing::IAsyncTexture& GetTreeTopDiffuse() const;
59  AsyncTexturing::IAsyncTexture& GetBuildingsDiffuse() const;
60  AsyncTexturing::IAsyncTexture& GetRoadDiffuse() const;
61  AsyncTexturing::IAsyncTexture& GetRoadVehicleDiffuse() const;
62  AsyncTexturing::IAsyncTexture& GetTrainDiffuse() const;
63  AsyncTexturing::IAsyncTexture& GetTramDiffuse() const;
64  AsyncTexturing::IAsyncTexture& GetPlaneDiffuse() const;
65  AsyncTexturing::IAsyncTexture& GetWaterNormal() const;
66  AsyncTexturing::IAsyncTexture& GetAsyncPlaceholderDiffuse() const;
67  AsyncTexturing::IAsyncTexture& GetPlaceholderNoDataDiffuse() const;
68  AsyncTexturing::IAsyncTexture& GetLcmDiffuse(int lcmIndex) const;
69  AsyncTexturing::IAsyncTexture& GetLcmLodDiffuse(int lcmIndex) const;
70  AsyncTexturing::IAsyncTexture& GetAsyncPlaceholderEnvironmentTexture() const;
71 
72  AsyncTexturing::IAsyncTexture* GetWaterReflectionCubeMap() const;
73  AsyncTexturing::IAsyncTexture* GetOverlayEffect() const;
74 
75  void ReleaseTextures();
76  };
77  }
78 }