X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fambientocclusion.h;h=419189942fad13e4b48b9223ef09bce0dc214233;hp=b6daa776d6af8804f5cf1186cb7974d1b5f3783d;hb=6a832fe1771f8c7bca0faa0d383fbbab062a1c56;hpb=1b9640375606a305f19c76cf15406202322b5bdf diff --git a/source/ambientocclusion.h b/source/ambientocclusion.h index b6daa776..41918994 100644 --- a/source/ambientocclusion.h +++ b/source/ambientocclusion.h @@ -20,6 +20,25 @@ http://en.wikipedia.org/wiki/Screen_Space_Ambient_Occlusion */ class AmbientOcclusion: public PostProcessor { +public: + struct Template: PostProcessor::Template + { + class Loader: public DataFile::DerivedObjectLoader + { + public: + Loader(Template &); + }; + + unsigned n_samples; + float occlusion_radius; + float darkness; + float edge_depth_threshold; + + Template(); + + virtual AmbientOcclusion *create(unsigned, unsigned) const; + }; + private: Texture2D rotate_lookup; RenderTarget occlude_target; @@ -38,6 +57,7 @@ private: public: void set_n_samples(unsigned); void set_occlusion_radius(float); + void set_edge_depth_threshold(float); // Deprecated void set_depth_ratio(float);