namespace GL {
class Mesh;
+class Renderer;
class Shader;
class Texture2D;
virtual ~PostProcessor() { }
/// Renders the effect.
- virtual void render(const Texture2D &color, const Texture2D &depth) = 0;
+ virtual void render(const Texture2D &, const Texture2D &) { }
+
+ virtual void render(Renderer &, const Texture2D &, const Texture2D &);
protected:
- /** Returns a vertex shader suitable for rendering a fullscreen quad. Input
- vertices are assumed to be in normalized device coordinates; no transform is
- done. The shader provides a varying vec2 texcoord for fragment a shader to
- access textures. */
+ /** 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.