#include <string>
#include "effect.h"
+#include "effect_chain.h"
#include "image_format.h"
#include "init.h"
#include "input.h"
+class ResourcePool;
+
// A FlatInput is the normal, “classic” case of an input, where everything
// comes from a single 2D array with chunky pixels.
class FlatInput : public Input {
invalidate_pixel_data();
}
- void invalidate_pixel_data()
- {
- needs_update = true;
- }
+ void invalidate_pixel_data();
void set_pitch(unsigned pitch) {
assert(!finalized);
this->pitch = pitch;
}
+ virtual void inform_added(EffectChain *chain)
+ {
+ resource_pool = chain->get_resource_pool();
+ }
+
private:
ImageFormat image_format;
MovitPixelFormat pixel_format;
- GLenum format, type;
+ GLenum internal_format, format, type;
GLuint pbo, texture_num;
- bool needs_update, finalized;
+ bool finalized;
int output_linear_gamma, needs_mipmaps;
unsigned width, height, pitch;
const void *pixel_data;
+ ResourcePool *resource_pool;
};
#endif // !defined(_MOVIT_FLAT_INPUT_H)