#ifndef _EFFECT_CHAIN_H
#define _EFFECT_CHAIN_H 1
+#include <GL/glew.h>
+#include <stdio.h>
+#include <map>
#include <set>
+#include <string>
#include <vector>
-#include "effect.h"
#include "image_format.h"
-#include "input.h"
-class EffectChain;
-class Phase;
+class Effect;
+class Input;
+struct Phase;
// For internal use within Node.
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.
std::vector<Node *> inputs;
std::vector<Node *> effects; // In order.
- unsigned output_width, output_height;
+ unsigned output_width, output_height, virtual_output_width, virtual_output_height;
};
class EffectChain {