All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Rendering.h
1 // Copyright eeGeo Ltd (2012-2023), All Rights Reserved
2 
3 #pragma once
4 
5 namespace Eegeo
6 {
7  namespace Rendering
8  {
9  namespace AsyncTexturing
10  {
11  class IAsyncTexture;
12  }
13 
14  class GLState;
15  class GlBufferPool;
16  class RenderContext;
17  class EnvironmentFlatteningService;
18  struct EnvironmentFlatteningConfiguration;
19  class LoadingScreen;
20  class LoadingScreenRenderablesFactory;
21  class LoadingScreenRenderables;
22  class ITexturePageLayout;
23  class Mesh;
24  class TriStripMesh;
25  class SortKey;
26  class Shader;
27  class RenderableBase;
28  class IRenderableFilter;
29  class RenderableFilters;
30  class RenderQueue;
31  class MaterialRepository;
32  class IMaterialRepository;
33  class IMaterialProvider;
34  class IMeshUploadService;
35  // todo: this should go to placenames when we're ready
36  class ITextRenderablesSource;
37 
38  class IReferencedTexture;
39  class EnvironmentStateTextures;
40  class EnvironmentTexture;
41  class EnvironmentTextures;
42  class IEnvironmentTexturesObserver;
43  class EnvironmentMaterialRepository;
44  class EnvironmentMaterialFactory;
45  class VAOCache;
46 
47  class StencilLayersController;
48  struct ScreenProperties;
49 
50  class RenderOptionsModel;
51  class IRenderingService;
52  class RenderingService;
53 
54  namespace Scene
55  {
56  template<typename T>
58 
59  template<typename T>
61 
62  template<typename T>
64 
65  class ISceneElement;
66 
67  template<typename T>
68  class SceneElement;
69 
70  template<typename T>
72 
73  template<class T>
75 
76  template<class T>
78 
79  template<typename T>
81 
82  template<typename T>
84  }
85 
86  namespace VertexLayouts
87  {
88  class VertexAttribs;
89  class VertexAttribElement;
90  class VertexLayoutElement;
91  class VertexLayout;
92  class VertexLayoutPool;
93  class VertexBinding;
94  class VertexBindingPool;
95  }
96 
97  namespace MeshFactories
98  {
99  class MeshFactory;
100  class DiffuseMeshFactory;
101  class PackedTwoTextureDiffuseMeshFactory;
102  class TextMeshFactory;
103 
104  class ReadMeshFactory;
105  class PackedDiffuseReadMeshFactory;
106 
107  class LcmReadMeshFactory;
108  class PositionMeshFactory;
109  class SceneModelMeshFactory;
110  }
111 
112  namespace Renderables
113  {
114  class MeshRenderable;
115  class CulledMeshRenderable;
116  class WorldMeshRenderable;
117  class PackedRenderable;
118  class PackedShadowRenderable;
119  class LightmappedRenderable;
120  class TextRenderable;
121  class TextRenderableConfiguration;
122  class TextRenderableConfigurationBuilder;
123  class WaterRenderable;
124  class CustomLandmarkRenderable;
125  class BatchedSpriteRenderable;
126  class UniqueTextureRenderable;
127  class UniqueTextureRenderableFactory;
128  class IUniqueTextureRenderableFactory;
129  class UniformColoredRenderable;
130  class InteriorFloorRenderable;
131  class InteriorHighlightRenderable;
132  class InteriorRenderable;
133  class InstancedInteriorFloorRenderable;
134 
135  class ModelRenderable;
136  class SceneModelRenderable;
137  class SceneModelMeshRenderable;
138  class SceneModelTriStripMeshRenderable;
139 
140  namespace TemporaryLegacySupport
141  {
142  class AnimatedObjectsRenderable;
143  }
144  }
145 
146  namespace Filters
147  {
148  class RenderableRepository;
149  class PackedRenderableFilter;
150  class WorldMeshRenderableFilter;
151  class DefaultRenderableFilter;
152  class SceneModelRenderableFilter;
153  class InteriorsRenderableFilter;
154  class ShadowPackedRenderableFilter;
155  }
156 
157  namespace Materials
158  {
159  class NullMaterial;
160  class NullMaterialFactory;
161  class MaterialIdGenerator;
162  class IMaterial;
163  class IPackedMaterial;
164  class ShadowMaterial;
165  class PackedDiffuseMaterial;
166  class PackedDiffuseTransitionMaterial;
167  class PackedDiffuseFoggedMaterial;
168  class PackedStencilShadowMaterial;
169  class LightmappedPackedDiffuseMaterial;
170  class LightmappedPackedDiffuseTransitionMaterial;
171  class TextMaterial;
172  class WaterMaterial;
173  class WaterMaterial2;
174  class WaterTransitionMaterial;
175  class CustomLandmarkDiffuseMaterial;
176  class CustomLandmarkDiffuseFoggedMaterial;
177  class CustomLandmarkDiffuseTransitionMaterial;
178  class ProceduralLandmarkDiffuseMaterial;
179  class DiffuseMaterial;
180  class VertexColoredMaterial;
181  class UniformColoredMaterial;
182  class UniqueDiffuseMaterial;
183  class BatchedSpriteMaterial;
184  class WeatherOverlayMaterial2;
185  class ColorMaterial;
186  class DebugMaterial;
187  class BatchedTextMaterial;
188  class FireworksMaterial;
189  class TexturedUniformColoredMaterial;
190  class ModelMaterial;
191  class SceneModelMaterial;
192  class DepthlessColorMaterial;
193  class ITextMaterialFactory;
194  class SdfTextMaterial;
195  class BatchedTextMaterialFactory;
196  class BatchedIconMaterial;
197  }
198 
199  namespace Shaders
200  {
201  class NullShader;
202  class ShaderIdGenerator;
203  class ColorShader;
204  class ColoredVertShader;
205  class PackedDiffuseShader;
206  class PackedDiffuseTransitionShader;
207  class PackedDiffuseFoggedShader;
208  class PackedStencilShadowShader;
209  class LightmappedPackedDiffuseShader;
210  class LightmappedPackedDiffuseTransitionShader;
211  class TextShader;
212  class SdfTextShader;
213  class TextShaderSet;
214  class WaterShader;
215  class WaterTransitionShader;
216  class DiffuseShader;
217  class VertexColoredShader;
218  class UniformColoredShader;
219  class ClippedUniformColoredShader;
220  class BatchedSpriteShader;
221  class BatchedIconShader;
222  class WeatherOverlayShader;
223  struct FogShaderUniforms;
224  class FireworksShader;
225  class TexturedUniformColoredShader;
226  class ModelShader;
227  class PackedDiffuseAlphaShader;
228  }
229 
230  namespace VertexTypes
231  {
232  struct TextVertex;
233  struct PackedDiffuseVertex;
234  struct PackedTwoTextureVertex;
235  struct PackedStencilShadowVertex;
236  struct ShortPositionVertex;
237  struct DiffuseVertex;
238  struct PositionVertex;
239  struct TexturedVertex;
240  struct Textured2DVertex;
241  struct ColoredVertex;
242  struct TexturedColoredVertex;
243  struct ModelDiffuseVertex;
244  struct ScreenTextVertex;
245  struct WorldTextVertex;
246  }
247 
248  namespace SceneModels
249  {
250  class SceneModel;
251  class SceneModelLoader;
252  class SceneModelFactory;
253  class SceneModelNode;
254  class SceneModelRenderableNode;
255 
256  class ISceneModelNodeRenderVisitor;
257  class ISceneModelNodeRenderElement;
258 
259  class SceneModelAnimator;
260  class ISceneModelNodeAnimation;
261  class SceneModelNodeAnimation;
262 
263  class SceneModelTextureResource;
264  class SceneModelMaterialResource;
265  class SceneModelMeshResource;
266  class SceneModelTriStripMeshResource;
267  }
268  }
269 }