All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
PackedDiffuseTransitionMaterial.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "PackedTransitionMaterial.h"
7 #include "IdTypes.h"
8 #include "Lighting.h"
9 #include "Rendering.h"
10 #include "PackedDiffuseTransitionShader.h"
11 #include "VectorMathDecl.h"
12 #include "TextureMinifyType.h"
13 #include <string>
14 
15 
16 namespace Eegeo
17 {
18  namespace Rendering
19  {
20  namespace Materials
21  {
23  {
24  public:
26  const TMaterialId materialId,
27  const std::string& name,
29  const Lighting::GlobalLighting& lighting,
30  const Lighting::GlobalFogging& fogging,
31  AsyncTexturing::IAsyncTexture& fromTextureId,
32  AsyncTexturing::IAsyncTexture& toTextureId,
33  Rendering::TextureMinifyType textureMinifyType,
34  bool useAlternativeAmbient,
35  bool textureRepeat
36  );
37 
39  {
40  }
41 
42  void SetState(Rendering::GLState& glState) const;
43  void SetStatePerRenderable(const Rendering::RenderableBase* renderableBase, Rendering::GLState& glState) const;
44 
45  void SetFromDiffuseTexture(AsyncTexturing::IAsyncTexture& textureId) { m_fromTextureId = &textureId; }
46  AsyncTexturing::IAsyncTexture& GetFromTextureId() const { return *m_fromTextureId; }
47 
48  void SetToDiffuseTexture(AsyncTexturing::IAsyncTexture& textureId) { m_toTextureId = &textureId; }
49  AsyncTexturing::IAsyncTexture& GetToTextureId() const { return *m_toTextureId; }
50 
51  private:
54  };
55  }
56  }
57 }
58