X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fpostprocessor.h;h=15cdc271149265e171da1b2cdf4ef6ce6a3b842d;hb=0807680edd94a7f14560831db4dd52e4e48d0d19;hp=d9489de2c65999a73644df932fe17c26f442d519;hpb=afd943c2bf1dd289565be557fa778248fee54247;p=libs%2Fgl.git diff --git a/source/postprocessor.h b/source/postprocessor.h index d9489de2..15cdc271 100644 --- a/source/postprocessor.h +++ b/source/postprocessor.h @@ -5,6 +5,7 @@ namespace Msp { namespace GL { class Mesh; +class Renderer; class Shader; class Texture2D; @@ -21,13 +22,17 @@ public: 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.