TDME2  1.9.200
LinesShader.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <tdme/tdme.h>
4 #include <tdme/engine/fwd-tdme.h>
7 #include <tdme/math/fwd-tdme.h>
8 #include <tdme/math/Matrix4x4.h>
9 
13 
14 /**
15  * Lines shader program
16  * @author Andreas Drewke
17  */
19 {
20 private:
21  int32_t programId { -1 };
22  int32_t fragmentShaderId { -1 };
23  int32_t vertexShaderId { -1 };
24  int32_t uniformMVPMatrix { -1 };
25  int32_t uniformDiffuseTextureUnit { -1 };
26  int32_t uniformEffectColorMul { -1 };
27  int32_t uniformEffectColorAdd { -1 };
29  bool isRunning;
31  Engine* engine { nullptr };
32  Renderer* renderer { nullptr };
33 
34 public:
35  // forbid class copy
37 
38  /**
39  * Public constructor
40  * @param engine engine
41  * @param renderer renderer
42  */
44 
45  /**
46  * @return initialized and ready to be used
47  */
48  bool isInitialized();
49 
50  /**
51  * Initialize renderer
52  */
53  void initialize();
54 
55  /**
56  * Use lighting program
57  * @param contextIdx context index
58  */
59  void useProgram(int contextIdx);
60 
61  /**
62  * Update effect to program
63  * @param renderer renderer
64  * @param contextIdx context index
65  */
66  void updateEffect(int contextIdx);
67 
68  /**
69  * Unuse particles shader program
70  * @param contextIdx context index
71  */
72  void unUseProgram(int contextIdx);
73 
74  /**
75  * Update matrices to program
76  * @param renderer renderer
77  * @param contextIdx context index
78  */
79  void updateMatrices(int contextIdx);
80 
81  /**
82  * Set parameters
83  * @param contextIdx context index
84  * @param textureId texture id
85  * @param lineWidth line width
86  */
87  void setParameters(int contextIdx, int32_t textureId, float lineWidth);
88 
89 };
Engine main class.
Definition: Engine.h:131
void updateMatrices(int contextIdx)
Update matrices to program.
void updateEffect(int contextIdx)
Update effect to program.
Definition: LinesShader.cpp:85
void unUseProgram(int contextIdx)
Unuse particles shader program.
Definition: LinesShader.cpp:95
void setParameters(int contextIdx, int32_t textureId, float lineWidth)
Set parameters.
LinesShader(Engine *engine, Renderer *renderer)
Public constructor.
Definition: LinesShader.cpp:15
void useProgram(int contextIdx)
Use lighting program.
Definition: LinesShader.cpp:77
Matrix4x4 class representing matrix4x4 mathematical structure and operations for 3d space.
Definition: Matrix4x4.h:23
#define FORBID_CLASS_COPY(CLASS)
Definition: tdme.h:6