class Mesh;
class Renderer;
+class Resources;
class Sampler;
class Shader;
class Texture2D;
Template();
virtual ~Template() { }
- virtual PostProcessor *create(unsigned, unsigned) const = 0;
+ virtual PostProcessor *create(Resources &, unsigned, unsigned) const = 0;
};
-private:
- static WeakPtr<Mesh> fullscreen_quad;
- static WeakPtr<Sampler> nearest_sampler;
- static WeakPtr<Sampler> linear_sampler;
-
protected:
PostProcessor() { }
public:
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();
-
- static RefPtr<Sampler> get_nearest_sampler();
- static RefPtr<Sampler> get_linear_sampler();
};
} // namespace GL