X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Feffects%2Feffect.h;fp=source%2Feffects%2Feffect.h;h=ac458361700cf669052ea69039017451f2497e8f;hp=0d794a3a2d9b6b264b17e880cf0a02c95d8218d7;hb=190a7e11237351f6b730c28f7b16f183e8adc69c;hpb=be6ffe96ecb4707599fe1a6f620c348760213d46 diff --git a/source/effects/effect.h b/source/effects/effect.h index 0d794a3a..ac458361 100644 --- a/source/effects/effect.h +++ b/source/effects/effect.h @@ -9,13 +9,23 @@ namespace Msp { namespace GL { /** -Effects are used to wrap other renderables and give them additional visual -properties. An Effect's render method should set up the necessary state, call -the wrapped Renderable's render method, and clean up after itself. +Base class for visual effects. + +Effects wrap other renderables and provide additional textures or uniform +values which can be used by shaders to modify the appearance of the content +renderable. Some material properties require certain Effects to be present in +order to function properly. + +If an Effect subclass needs to do any sideband rendering to prepare for a +frame, that should be done in setup_frame(). The render() function should only +set up the necessary state and call the content renderable's render() function. */ class Effect: public Renderable { public: + /** + Holds the parameters for an Effect. Used with SequenceTemplate. + */ struct Template { class Loader: public DataFile::CollectionObjectLoader