TDME2  1.9.200
LightingShaderPBRFoliageImplementation.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 
5 #include <tdme/tdme.h>
9 
12 
13 /**
14  * Lighting shader implementation
15  * @author Andreas Drewke
16  */
18 {
19 private:
20  int32_t uniformSpeed { -1 };
21  int32_t uniformTime { -1 };
22  int32_t uniformAmplitudeDefault { -1 };
23  int32_t uniformAmplitudeMax { -1 };
24 
25 public:
26  // forbid class copy
28 
29  /**
30  * Public constructor
31  * @param renderer renderer
32  */
34 
35  /**
36  * @return if supported by renderer
37  * @param renderer renderer
38  */
39  static bool isSupported(Renderer* renderer);
40 
41  // overridden methods
42  virtual const string getId() override;
43  virtual void initialize() override;
44  virtual void registerShader() override;
45  virtual void useProgram(Engine* engine, int contextIdx) override;
46  virtual void updateShaderParameters(Renderer* renderer, int contextIdx) override;
47 
48 };
Engine main class.
Definition: Engine.h:131
virtual void useProgram(Engine *engine, int contextIdx) override
Use lighting program.
virtual void updateShaderParameters(Renderer *renderer, int contextIdx) override
Update shader parameters.
#define FORBID_CLASS_COPY(CLASS)
Definition: tdme.h:6