X-Git-Url: https://git.sesse.net/?p=movit;a=blobdiff_plain;f=effect_chain.h;h=6698c6f70e6b7cf5ee0752fce39840613295810f;hp=88d5d3202faba525f4bb0a92af9bee70e14d7055;hb=9a00101dbb6f98d21c6b8ce4d33200af840ea908;hpb=3702fd5c7d6121bab0ff5726804e6591038406b3 diff --git a/effect_chain.h b/effect_chain.h index 88d5d32..6698c6f 100644 --- a/effect_chain.h +++ b/effect_chain.h @@ -1,14 +1,17 @@ -#ifndef _EFFECT_CHAIN_H -#define _EFFECT_CHAIN_H 1 +#ifndef _MOVIT_EFFECT_CHAIN_H +#define _MOVIT_EFFECT_CHAIN_H 1 +#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 +25,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_ALPHA_POSTMULTIPLIED, + OUTPUT_ALPHA_FORMAT_PREMULTIPLIED, + OUTPUT_ALPHA_FORMAT_POSTMULTIPLIED, }; // A node in the graph; basically an effect and some associated information. @@ -72,7 +75,7 @@ struct Phase { std::vector inputs; std::vector effects; // In order. - unsigned output_width, output_height; + unsigned output_width, output_height, virtual_output_width, virtual_output_height; }; class EffectChain { @@ -226,12 +229,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)