TDME2  1.9.200
PostProcessingShaderSSAOMapImplementation.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <array>
4 #include <string>
5 
6 #include <tdme/tdme.h>
7 #include <tdme/engine/fwd-tdme.h>
11 
12 using std::array;
13 using std::string;
14 
18 
19 /**
20  * Post processing shader SSAO map generation implementation
21  * @author Andreas Drewke
22  */
24 {
25 public:
26  /**
27  * Returns if shader is supported on given renderer
28  * @param renderer renderer
29  * @return if shader is supported
30  */
31  static bool isSupported(Renderer* renderer);
32 
33  // forbid class copy
35 
36  /**
37  * Public constructor
38  * @param renderer renderer
39  */
41 
42  // overridden methods
43  virtual void initialize() override;
44  virtual void useProgram(int contextIdx) override;
45  virtual void setShaderParameters(int contextIdx, Engine* engine) override;
46  virtual void unloadTextures() override;
47  virtual void loadTextures(const string& pathName) override;
48 
49 private:
50  array<int32_t, 16> uniformSphere;
51  int32_t uniformRandomTextureUnit { -1 };
52  int32_t uniformStrength { -1 };
53  int32_t uniformArea { -1 };
54  int32_t uniformFallOff { -1 };
55  int32_t uniformRadius { -1 };
56  int32_t uniformSamples { -1 };
57  Texture* randomTexture { nullptr };
58  int32_t randomTextureId { -1 };
59 };
Engine main class.
Definition: Engine.h:131
Texture entity.
Definition: Texture.h:24
virtual void setShaderParameters(int contextIdx, Engine *engine) override
Set shader parameters.
static bool isSupported(Renderer *renderer)
Returns if shader is supported on given renderer.
#define FORBID_CLASS_COPY(CLASS)
Definition: tdme.h:6