TDME2  1.9.200
PostProcessingShaderBaseImplementation.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
5 #include <tdme/tdme.h>
6 #include <tdme/engine/fwd-tdme.h>
10 
11 using std::string;
12 
16 
17 /**
18  * Post processing shader base implementation
19  * @author Andreas Drewke
20  */
22 {
23 protected:
24  int32_t programId { -1 };
25 
26  int32_t vertexShaderId { -1 };
27  int32_t fragmentShaderId { -1 };
28 
35 
36  bool isRunning { false };
37  bool initialized { false };
38  Renderer* renderer { nullptr };
39 
40 public:
41  // forbid class copy
43 
44  /**
45  * Public constructor
46  * @param renderer renderer
47  */
49 
50  // overridden methods
51  virtual bool isInitialized() override;
52  virtual void initialize() override;
53  virtual void useProgram(int contextIdx) override;
54  virtual void unUseProgram() override;
55  virtual void setBufferPixelWidth(int contextIdx, float pixelWidth) override;
56  virtual void setBufferPixelHeight(int contextIdx, float pixelHeight) override;
57  virtual void setShaderParameters(int contextIdx, Engine* engine) override = 0;
58  virtual void unloadTextures();
59  virtual void loadTextures(const string& pathName);
60 
61 };
Engine main class.
Definition: Engine.h:131
Frame buffer class.
Definition: FrameBuffer.h:22
virtual void setShaderParameters(int contextIdx, Engine *engine) override=0
Set shader parameters.
virtual void setBufferPixelHeight(int contextIdx, float pixelHeight) override
Set source buffer pixel height.
virtual void setBufferPixelWidth(int contextIdx, float pixelWidth) override
Set source buffer pixel width.
#define FORBID_CLASS_COPY(CLASS)
Definition: tdme.h:6