]> git.tdb.fi Git - libs/gl.git/blobdiff - source/effects/ambientocclusion.h
Store the ambient occlusion rotate lookup texture in resources
[libs/gl.git] / source / effects / ambientocclusion.h
index 2497d5b7fb4f2d2d150144a67062cdee72a558b0..61d4d4f3e44a48daf94468d684d26f14e4b19ba5 100644 (file)
@@ -35,23 +35,25 @@ public:
 
                Template();
 
-               virtual AmbientOcclusion *create(Resources &, unsigned, unsigned) const;
+               virtual AmbientOcclusion *create(unsigned, unsigned) const;
        };
 
 private:
-       Texture2D rotate_lookup;
+       const Texture2D &rotate_lookup;
        RenderTarget occlude_target;
        const Program &occlude_shader;
        const Program &combine_shader;
        mutable ProgramData shdata;
        const Mesh &quad;
        const Sampler &linear_sampler;
+       const Sampler &nearest_clamp_sampler;
        const Sampler &nearest_sampler;
 
 public:
-       AmbientOcclusion(Resources &, unsigned, unsigned, float = 1.0f);
+       AmbientOcclusion(unsigned, unsigned, float = 1.0f);
 
 private:
+       static const Texture2D &get_or_create_rotate_lookup();
        static float random(unsigned &);
 
 public: