HatchitGraphics
ht_shadervariablechunk.h
1 
23 #pragma once
24 #include <ht_shadervariable.h>
25 #include <ht_math.h>
26 #include <unordered_map>
27 
28 namespace Hatchit {
29 
30  namespace Core
31  {
32  template<typename VarType>
33  class Handle;
34  }
35 
36  namespace Graphics {
37 
38  class HT_API ShaderVariableChunk
39  {
40  public:
41  ShaderVariableChunk(std::vector<Resource::ShaderVariable*> variables);
43 
44  bool SetInt(size_t offset, uint32_t data);
45  bool SetDouble(size_t offset, double data);
46  bool SetFloat(size_t offset, float data);
47  bool SetFloat2(size_t offset, Math::Vector2 data);
48  bool SetFloat3(size_t offset, Math::Vector3 data);
49  bool SetFloat4(size_t offset, Math::Vector4 data);
50  bool SetMatrix4(size_t offset, Math::Matrix4 data);
51 
52  const BYTE* GetByteData();
53  size_t GetSize();
54 
55  private:
56  BYTE* m_byteData;
57  std::size_t m_byteDataSize;
58 
59  };
60  }
61 }
Hatchit Engine Copyright(c) 2015-2016 Third-Degree.
Definition: ht_color.h:19
Definition: ht_shadervariablechunk.h:38