X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fambientocclusion.h;h=b6daa776d6af8804f5cf1186cb7974d1b5f3783d;hp=fc930bad80139fa6eafbb26d5bb49bd9639a6365;hb=133fe7352831197c9ec59f923c1126651d80edcb;hpb=8ec12629c4808588b0eaef88147e22fa658ac990 diff --git a/source/ambientocclusion.h b/source/ambientocclusion.h index fc930bad..b6daa776 100644 --- a/source/ambientocclusion.h +++ b/source/ambientocclusion.h @@ -23,18 +23,25 @@ class AmbientOcclusion: public PostProcessor private: Texture2D rotate_lookup; RenderTarget occlude_target; - Texturing occlude_texturing; + Texturing texturing; Program occlude_shader; - ProgramData occlude_shdata; - Texturing combine_texturing; Program combine_shader; - ProgramData combine_shdata; + mutable ProgramData shdata; const Mesh &quad; public: - AmbientOcclusion(unsigned, unsigned, float); + AmbientOcclusion(unsigned, unsigned, float = 1.0f); +private: + static float random(unsigned &); + +public: + void set_n_samples(unsigned); + void set_occlusion_radius(float); + + // Deprecated void set_depth_ratio(float); + void set_darkness(float); virtual void render(Renderer &, const Texture2D &, const Texture2D &);