All Classes Files Functions Variables Typedefs Pages
HotVertexSeq.hpp
1 #pragma once
2 
3 #include "GLException.hpp"
4 #include "GLObject.hpp"
5 #include "GLTools.hpp"
6 #include "HotVertexSeq.fpp"
7 #include "IndexSet.hpp"
8 #include "VertexSeq.hpp"
9 #include "HotProgram.fpp"
10 #include "PrimitiveType.hpp"
11 #include "VertexSet.hpp"
12 #include "../config/BaseProxy.hpp"
13 #include "../util/NotCloneable.hpp"
14 
15 
16 namespace lumina {
17 
18 namespace internal {
19 
20 class HotVertexSeqBase : public GLObject, public NotCloneable {
21 private:
22  friend VertexSeq;
23 
24 protected:
25  VertexSeq& m_cold;
26 
27 public:
29 
30  // custom destructor
32 
33 
36 };
37 
38 }
39 
53 template <typename... Cs>
55 private:
56  HotVertexSeq(VertexSeq& ref);
57 
58  friend VertexSeq;
59 
60  void applyVertexLayout();
61 public:
62 
65 };
66 
71 template <>
73 private:
74  HotVertexSeq(VertexSeq& ref);
75 
76  friend VertexSeq;
77 
78 public:
86  template <typename... Ts>
87  void applyVertexLayout();
88 
91 };
92 
93 } // namespace lumina
94 
95 #include "HotVertexSeq.tpp"
internal::VertexSet vertex
The vertex buffer.
Definition: HotVertexSeq.hpp:90
Definition: HotVertexSeq.hpp:20
internal::VertexSet< Cs...> vertex
The vertex buffer.
Definition: HotVertexSeq.hpp:64
Definition: NotCloneable.hpp:19
Hot version of VertexSeq.
Definition: HotVertexSeq.fpp:9
Definition: VertexSet.hpp:49
Definition: GLObject.hpp:37
Definition: IndexSet.hpp:13
Definition: VertexSet.hpp:12
Represents a sequence of vertices.
Definition: VertexSeq.hpp:32
internal::IndexSet index
The index buffer.
Definition: HotVertexSeq.hpp:35