X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Feffects%2Fambientocclusion.h;h=d055c6851e1aa362c4aaab1ea2fb8a3c91ef5662;hb=f853ca0a365ae8b43ba8b2f4d6f21cd1c2bd4bd5;hp=0171d89e87ac2e781ba267f72d67e918ff3d29c1;hpb=1863f17c5c5563be8492d7f01e5c613a740ea1e9;p=libs%2Fgl.git diff --git a/source/effects/ambientocclusion.h b/source/effects/ambientocclusion.h index 0171d89e..d055c685 100644 --- a/source/effects/ambientocclusion.h +++ b/source/effects/ambientocclusion.h @@ -1,19 +1,17 @@ #ifndef MSP_GL_AMBIENTOCCLUSION_H_ #define MSP_GL_AMBIENTOCCLUSION_H_ -#include "framebuffer.h" -#include "mesh.h" #include "postprocessor.h" -#include "program.h" #include "programdata.h" #include "rendertarget.h" -#include "texture2d.h" namespace Msp { namespace GL { +class Program; + /** -Implements screen-space ambient occlusion. +Darkens recessed areas of the scene to simulate the occlusion of ambient light. http://en.wikipedia.org/wiki/Screen_Space_Ambient_Occlusion */ @@ -28,12 +26,10 @@ public: Loader(Template &); }; - unsigned n_samples; - float occlusion_radius; - float darkness; - float edge_depth_threshold; - - Template(); + unsigned n_samples = 16; + float occlusion_radius = 0.5f; + float darkness = 1.0f; + float edge_depth_threshold = 0.1f; virtual AmbientOcclusion *create(unsigned, unsigned) const; }; @@ -50,7 +46,7 @@ private: const Sampler &nearest_sampler; public: - AmbientOcclusion(unsigned, unsigned, float = 1.0f); + AmbientOcclusion(unsigned, unsigned); private: static const Texture2D &get_or_create_rotate_lookup();