]> git.tdb.fi Git - libs/gl.git/blobdiff - source/effects/ambientocclusion.h
Add debug name capability to more classes
[libs/gl.git] / source / effects / ambientocclusion.h
index 6c2c5d7eea938daa6be0e6e5ce2387dd2a361660..0171d89e87ac2e781ba267f72d67e918ff3d29c1 100644 (file)
@@ -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<Mesh> quad;
-       RefPtr<Sampler> linear_sampler;
-       RefPtr<Sampler> 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);
@@ -64,6 +64,8 @@ public:
        void set_darkness(float);
 
        virtual void render(Renderer &, const Texture2D &, const Texture2D &);
+
+       virtual void set_debug_name(const std::string &);
 };
 
 } // namespace GL