TDME2  1.9.200
FrameBufferRenderShader.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <tdme/tdme.h>
6 
8 
9 /**
10  * Frame buffer render shader
11  * @author Andreas Drewke
12  */
14 {
15 
16 private:
17  Renderer* renderer { nullptr };
18  int32_t vertexShaderId { -1 };
19  int32_t fragmentShaderId { -1 };
20  int32_t programId { -1 };
23  int32_t vboVertices { -1 };
24  int32_t vboTextureCoordinates {-1 };
26  bool isRunning;
27 
28 public:
29  // forbid class copy
31 
32  /**
33  * Public constructor
34  * @param renderer renderer
35  */
37 
38  /**
39  * Public destructor
40  */
42 
43  /**
44  * @return if initialized and ready to use
45  */
46  bool isInitialized();
47 
48  /**
49  * Initialize
50  */
51  void initialize();
52 
53  /**
54  * Dispose
55  */
56  void dispose();
57 
58  /**
59  * Use render program
60  */
61  void useProgram();
62 
63  /**
64  * Un use render program
65  */
66  void unUseProgram();
67 
68  /**
69  * @return vertices VBO
70  */
71  inline int32_t getVBOVertices() {
72  return vboVertices;
73  }
74 
75  /**
76  * @return texture coordinates VBO
77  */
78  inline int32_t getVBOTextureCoordinates() {
79  return vboTextureCoordinates;
80  }
81 
82 };
#define FORBID_CLASS_COPY(CLASS)
Definition: tdme.h:6