All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
CollisionVisualizationMaterial.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "IMaterial.h"
6 #include "Types.h"
7 #include "Rendering.h"
8 #include "Collision.h"
9 #include "CollisionVisualization.h"
10 
11 #include <string>
12 
13 namespace Eegeo
14 {
15  namespace CollisionVisualization
16  {
18  {
19  public:
20  CollisionVisualizationMaterial(const Eegeo::Rendering::TMaterialId materialId,
21  const std::string& debugName,
23 
24  const Eegeo::Rendering::TMaterialId GetId() const { return m_id; }
25  const Eegeo::Rendering::Shader& GetShader() const;
26  const std::string& GetName() const { return m_debugName; }
27 
28  void SetState(Eegeo::Rendering::GLState& glState) const;
29 
30  void SetStatePerRenderable(const Eegeo::Rendering::RenderableBase* renderableBase, Eegeo::Rendering::GLState& glState) const;
31  protected:
32  const Eegeo::Rendering::TMaterialId m_id;
33  const std::string m_debugName;
35  };
36  }
37 }