All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PolygonShapeRenderer.h
1 #pragma once
2 
3 #include "Types.h"
4 #include "IRenderableFilter.h"
5 #include "PolygonShapeArgs.h"
6 #include "Rendering.h"
7 #include "Positioning.h"
8 
9 
10 namespace Eegeo
11 {
12  namespace Shapes
13  {
14  namespace Polygons
15  {
17  {
18  public:
20  const Eegeo::Positioning::IPositioningViewComponent& positioningViewComponent);
21 
22  void EnqueueRenderables(const Rendering::RenderContext& renderContext, Rendering::RenderQueue& renderQueue);
23 
24  private:
25  m44 CalcMVP(const PolygonShapeArgs::ShapeView& view,
26  const dv3& ecefCameraPosition,
27  const Eegeo::m44& viewProjection) const;
28 
29  const PolygonShapeArgs::ShapeViewRepository& m_viewRepository;
30  const Eegeo::Positioning::IPositioningViewComponent& m_positioningViewComponent;
31 
32  std::vector<PolygonShapeArgs::ShapeView*> m_viewsScratchBuffer;
33  };
34  }
35  }
36 }
37 
38