X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Frender%2Fsequence.h;h=ebdb55dd664636936ea9caea0c01de1a11c2a843;hb=c0b7d6ee4a7478f5aecb1504429ec1fc846d64ed;hp=00211b006ef4f119c13f292a4b4c885f71dfb10c;hpb=74c995a4ce89d52100f2e9967f61a719a8affe67;p=libs%2Fgl.git diff --git a/source/render/sequence.h b/source/render/sequence.h index 00211b00..ebdb55dd 100644 --- a/source/render/sequence.h +++ b/source/render/sequence.h @@ -1,25 +1,20 @@ #ifndef MSP_GL_SEQUENCE_H_ #define MSP_GL_SEQUENCE_H_ -#include -#include +#include #include "blend.h" #include "depthtest.h" -#include "framebuffer.h" +#include "frameformat.h" #include "renderable.h" -#include "rendertarget.h" #include "stenciltest.h" -#include "texture2d.h" namespace Msp { namespace GL { -class Blend; -class Camera; class Clipping; class Lighting; class PostProcessor; -class View; +class RenderTarget; /** Top-level content class. Typically a Sequence is used as the content @@ -83,20 +78,24 @@ private: FrameFormat target_format; RenderTarget *target[2]; RenderTarget *target_ms; + bool clear_enabled; + std::vector clear_colors; + float clear_depth; + int clear_stencil; public: - Sequence(unsigned, unsigned, const FrameFormat & = FrameFormat()); - Sequence(const View &, const FrameFormat & = FrameFormat()); - Sequence(const Framebuffer &, const FrameFormat & = FrameFormat()); -private: - void init(unsigned, unsigned, const FrameFormat &); -public: + Sequence(); + Sequence(unsigned, unsigned, const FrameFormat &); ~Sequence(); - const FrameFormat &get_target_format() { return target_format; } - unsigned get_width() const { return width; } unsigned get_height() const { return height; } + const FrameFormat &get_target_format() { return target_format; } + + void set_clear_enabled(bool); + void set_clear_colors(const std::vector &); + void set_clear_depth(float); + void set_clear_stencil(int); /** Adds a step to the sequence. It's permissible to add the same Renderable multiple times. */