X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=effect_chain.h;h=407648bc9c5a6887e331d01bb4d372390509c219;hp=f5064eb7b53bb8bfd8ea51919b33a4d9385649d4;hb=7d78534e38d50892ca57d3a17f27214ac094ea58;hpb=5d4c0425579de66b3e2dd7d0095e890278f8efcf diff --git a/effect_chain.h b/effect_chain.h index f5064eb..407648b 100644 --- a/effect_chain.h +++ b/effect_chain.h @@ -1,14 +1,23 @@ -#ifndef _EFFECT_CHAIN_H -#define _EFFECT_CHAIN_H 1 - +#ifndef _MOVIT_EFFECT_CHAIN_H +#define _MOVIT_EFFECT_CHAIN_H 1 + +// An EffectChain is the largest basic entity in Movit; it contains everything +// needed to connects a series of effects, from inputs to outputs, and render +// them. Generally you set up your effect chain once and then call its render +// functions once per frame; setting one up can be relatively expensive, +// but rendering is fast. + +#include +#include +#include #include +#include #include -#include "effect.h" #include "image_format.h" -#include "input.h" -class EffectChain; +class Effect; +class Input; struct Phase; // For internal use within Node. @@ -22,8 +31,8 @@ enum AlphaType { // Whether you want pre- or postmultiplied alpha in the output // (see effect.h for a discussion of pre- versus postmultiplied alpha). enum OutputAlphaFormat { - OUTPUT_ALPHA_PREMULTIPLIED, - OUTPUT_POSTMULTIPLIED_ALPHA, + OUTPUT_ALPHA_FORMAT_PREMULTIPLIED, + OUTPUT_ALPHA_FORMAT_POSTMULTIPLIED, }; // A node in the graph; basically an effect and some associated information. @@ -226,12 +235,10 @@ private: Effect *dither_effect; std::vector inputs; // Also contained in nodes. - - GLuint fbo; std::vector phases; unsigned num_dither_bits; bool finalized; }; -#endif // !defined(_EFFECT_CHAIN_H) +#endif // !defined(_MOVIT_EFFECT_CHAIN_H)