All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
BlueSphereNotHiddenMaterial.h
1 // Copyright eeGeo Ltd (2012-2016), All Rights Reserved
2 
3 #pragma once
4 
5 #include "IMaterial.h"
6 #include "BlueSphereShader.h"
7 #include "AsyncTexturing.h"
8 
9 namespace Eegeo
10 {
11  namespace BlueSphere
12  {
14  {
15  public:
17  const Eegeo::Rendering::TMaterialId materialId,
18  const std::string& name,
19  BlueSphereShader& shader,
22  const Eegeo::v4& initialColor
23  );
24 
25  const Eegeo::Rendering::TMaterialId GetId() const { return m_id; }
26  const Eegeo::Rendering::Shader& GetShader() const { return m_shader; }
27  const std::string& GetName() const { return m_name; }
28 
29  void SetState(Eegeo::Rendering::GLState& glState) const;
30 
31  void SetStatePerRenderable(const Eegeo::Rendering::RenderableBase* renderableBase, Eegeo::Rendering::GLState& glState) const;
32 
33  void SetTextureLerpValue(float textureLerpValue) { m_textureLerpValue = textureLerpValue; }
34  float GetTextureLerpValue() const { return m_textureLerpValue; }
35 
36  void SetColor(Eegeo::v4& color) { m_color = color; }
37  const Eegeo::v4& GetColor() const { return m_color; }
38 
39  void SetColorLerpValue(float colorLerpValue) { m_colorLerpValue = colorLerpValue; }
40  float GetColorLerpValue() const { return m_colorLerpValue; }
41 
42  void SetDepthTest(bool depthTest) { m_depthTest = depthTest; }
43 
44  protected:
45  const Eegeo::Rendering::TMaterialId m_id;
46  const std::string m_name;
47  BlueSphereShader& m_shader;
50  float m_textureLerpValue;
51  Eegeo::v4 m_color;
52  float m_colorLerpValue;
53  bool m_depthTest;
54  };
55  }
56 }