All Classes Files Functions Variables Typedefs Pages
HotProgram.hpp
1 #pragma once
2 
3 #include "GLObject.hpp"
4 #include "UniformSet.hpp"
5 #include "Program.hpp"
6 #include "VertexSeq.fpp"
7 #include "PrimitiveType.hpp"
8 #include "HotTextureContainer.hpp"
9 
10 namespace lumina {
11 
18 class HotProgram : public GLObject {
19 public:
22 
35  void draw(const HotTexCont& texCont,
36  const VertexSeq& data,
37  PrimitiveType type,
38  int offset = 0,
39  int count = -1);
43  void draw(const VertexSeq& data,
44  PrimitiveType type,
45  int offset = 0,
46  int count = -1);
47 
48 private:
49  HotProgram(Program& ref);
50 
51  void drawImpl(const VertexSeq& data,
52  PrimitiveType type,
53  int offset = 0,
54  int count = -1);
55 
56  friend Program;
57 };
58 
59 }
60 
61 #include "HotProgram.tpp"
Definition: UniformSet.hpp:15
void draw(const HotTexCont &texCont, const VertexSeq &data, PrimitiveType type, int offset=0, int count=-1)
Draws a VertexSeq with one or more textures.
Definition: HotProgram.cpp:12
Hot version of Program.
Definition: HotProgram.hpp:18
Definition: GLObject.hpp:37
Definition: HotTextureContainer.hpp:11
internal::UniformSet uniform
Uniform variables of the current Program.
Definition: HotProgram.hpp:21
Represents the configuration of an OpenGL pipeline.
Definition: Program.hpp:27
Represents a sequence of vertices.
Definition: VertexSeq.hpp:32