]> git.tdb.fi Git - libs/gl.git/blobdiff - source/postprocessor.h
Better lifecycle management of the fullscreen quad in PostProcessor
[libs/gl.git] / source / postprocessor.h
index 6e3153dab69f9dea7639ffc675ad4386c8d45725..daaf434efe06028c7891cfa3f1685139099a152a 100644 (file)
@@ -35,6 +35,9 @@ public:
                virtual PostProcessor *create(unsigned, unsigned) const = 0;
        };
 
+private:
+       static WeakPtr<Mesh> fullscreen_quad;
+
 protected:
        PostProcessor() { }
 public:
@@ -46,20 +49,9 @@ public:
        virtual void render(Renderer &, const Texture2D &, const Texture2D &);
 
 protected:
-       /** Returns a vertex shader suitable for rendering a full-screen quad.
-       Input vertices are assumed to be in normalized device coordinates; no
-       transform is performed.  The shader provides a varying vec2 texcoord for
-       a fragment shader to access textures.
-       
-       Deprecated in favor of the builtin postprocess.glsl module. */
-       static Shader &get_fullscreen_vertex_shader();
-
        /** Returns a mesh consisting of a single quad, covering the entire screen.
        The vertices are in normalized device coordinates. */
-       static const Mesh &get_fullscreen_quad();
-
-private:
-       static const Mesh &create_fullscreen_quad();
+       static RefPtr<Mesh> get_fullscreen_quad();
 };
 
 } // namespace GL