]> git.tdb.fi Git - libs/gl.git/blobdiff - source/effects/postprocessor.h
Use default member initializers for simple types
[libs/gl.git] / source / effects / postprocessor.h
index c107d885f658e028522fdb0fe463bbd755d60d1d..8b2884acf6a360953f2e0a63ddeec2d44a64e689 100644 (file)
@@ -9,7 +9,6 @@ namespace GL {
 class Mesh;
 class Renderer;
 class Sampler;
-class Shader;
 class Texture2D;
 
 /**
@@ -28,36 +27,22 @@ public:
                        Loader(Template &);
                };
 
-               unsigned size_divisor;
+               unsigned size_divisor = 1;
 
-               Template();
-               virtual ~Template() { }
+               virtual ~Template() = default;
 
                virtual PostProcessor *create(unsigned, unsigned) const = 0;
        };
 
-private:
-       static WeakPtr<Mesh> fullscreen_quad;
-       static WeakPtr<Sampler> nearest_sampler;
-       static WeakPtr<Sampler> linear_sampler;
-
 protected:
        PostProcessor() { }
 public:
        virtual ~PostProcessor() { }
 
        /// Renders the effect.
-       virtual void render(const Texture2D &, const Texture2D &) { }
-
-       virtual void render(Renderer &, const Texture2D &, const Texture2D &);
-
-protected:
-       /** Returns a mesh consisting of a single quad, covering the entire screen.
-       The vertices are in normalized device coordinates. */
-       static RefPtr<Mesh> get_fullscreen_quad();
+       virtual void render(Renderer &, const Texture2D &, const Texture2D &) = 0;
 
-       static RefPtr<Sampler> get_nearest_sampler();
-       static RefPtr<Sampler> get_linear_sampler();
+       virtual void set_debug_name(const std::string &) = 0;
 };
 
 } // namespace GL