X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Feffects%2Fambientocclusion.h;h=f186db3dcd073a9577d20d44d68c6bd6f9d8185f;hb=7f81f26889b84542b0b35685b0e80383256cdc47;hp=6c2c5d7eea938daa6be0e6e5ce2387dd2a361660;hpb=7aaec9a70b8d7733429bec043f8e33e02956f266;p=libs%2Fgl.git diff --git a/source/effects/ambientocclusion.h b/source/effects/ambientocclusion.h index 6c2c5d7e..f186db3d 100644 --- a/source/effects/ambientocclusion.h +++ b/source/effects/ambientocclusion.h @@ -8,7 +8,6 @@ #include "programdata.h" #include "rendertarget.h" #include "texture2d.h" -#include "texturing.h" namespace Msp { namespace GL { @@ -40,21 +39,22 @@ public: }; private: - Texture2D rotate_lookup; + const Texture2D &rotate_lookup; RenderTarget occlude_target; - Texturing texturing; - Program occlude_shader; - Program combine_shader; + const Program &occlude_shader; + const Program &combine_shader; mutable ProgramData shdata; - RefPtr quad; - RefPtr linear_sampler; - RefPtr nearest_sampler; + const Mesh &quad; + const Sampler &linear_sampler; + const Sampler &nearest_clamp_sampler; + const Sampler &nearest_sampler; public: AmbientOcclusion(unsigned, unsigned, float = 1.0f); private: - static float random(unsigned &); + static const Texture2D &get_or_create_rotate_lookup(); + static float radical_inverse(unsigned); public: void set_n_samples(unsigned);