X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fambientocclusion.h;h=8b0b0fcdd543a17246642ed5fca945c2606fb8b6;hp=1866baee4eb57aeeb95c2fd32206f8c0ff8602c5;hb=0807680edd94a7f14560831db4dd52e4e48d0d19;hpb=c216893af147042e40c389e2530e71277c343044 diff --git a/source/ambientocclusion.h b/source/ambientocclusion.h index 1866baee..8b0b0fcd 100644 --- a/source/ambientocclusion.h +++ b/source/ambientocclusion.h @@ -1,10 +1,3 @@ -/* $Id$ - -This file is part of libmspgl -Copyright © 2010 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - #ifndef MSP_GL_AMBIENTOCCLUSION_H_ #define MSP_GL_AMBIENTOCCLUSION_H_ @@ -13,6 +6,7 @@ Distributed under the LGPL #include "postprocessor.h" #include "program.h" #include "programdata.h" +#include "rendertarget.h" #include "texture2d.h" #include "texturing.h" @@ -27,24 +21,21 @@ http://en.wikipedia.org/wiki/Screen_Space_Ambient_Occlusion class AmbientOcclusion: public PostProcessor { private: - Texture2D occlusion; Texture2D rotate_lookup; - Framebuffer fbo; - Texturing occlude_texturing; + RenderTarget occlude_target; + Texturing texturing; Program occlude_shader; - ProgramData occlude_shdata; - Texturing combine_texturing; Program combine_shader; - ProgramData combine_shdata; - Mesh quad; - float darkness; + ProgramData shdata; + const Mesh &quad; public: AmbientOcclusion(unsigned, unsigned, float); + void set_depth_ratio(float); void set_darkness(float); - virtual void render(const Texture2D &, const Texture2D &); + virtual void render(Renderer &, const Texture2D &, const Texture2D &); }; } // namespace GL