class Mesh;
class Renderer;
+class Sampler;
class Shader;
class Texture2D;
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:
protected:
/** 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();
+ static RefPtr<Mesh> get_fullscreen_quad();
-private:
- static const Mesh &create_fullscreen_quad();
+ static RefPtr<Sampler> get_nearest_sampler();
+ static RefPtr<Sampler> get_linear_sampler();
};
} // namespace GL