1 #ifndef MSP_GL_AMBIENTOCCLUSION_H_
2 #define MSP_GL_AMBIENTOCCLUSION_H_
4 #include "framebuffer.h"
6 #include "postprocessor.h"
8 #include "programdata.h"
10 #include "texturing.h"
16 Implements screen-space ambient occlusion.
18 http://en.wikipedia.org/wiki/Screen_Space_Ambient_Occlusion
20 class AmbientOcclusion: public PostProcessor
24 Texture2D rotate_lookup;
26 Texturing occlude_texturing;
27 Program occlude_shader;
28 ProgramData occlude_shdata;
29 Texturing combine_texturing;
30 Program combine_shader;
31 ProgramData combine_shdata;
35 AmbientOcclusion(unsigned, unsigned, float);
37 void set_depth_ratio(float);
38 void set_darkness(float);
40 virtual void render(const Texture2D &, const Texture2D &);