X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Frender%2Fsequence.h;h=13431ac469e824c4b9e5d1a4283678d710011090;hb=75e09e235ed67424cafcff0cd8fc44a4be2ca739;hp=cc4b6963b017ce98b2250597d2f02c8c55f67988;hpb=38712d8ecc57d043a2419ffbaeeb57f7a6586f14;p=libs%2Fgl.git diff --git a/source/render/sequence.h b/source/render/sequence.h index cc4b6963..13431ac4 100644 --- a/source/render/sequence.h +++ b/source/render/sequence.h @@ -2,7 +2,7 @@ #define MSP_GL_SEQUENCE_H_ #include -#include "blend.h" +#include "color.h" #include "depthtest.h" #include "frameformat.h" #include "renderable.h" @@ -11,7 +11,6 @@ namespace Msp { namespace GL { -class Clipping; class Lighting; class PostProcessor; class RenderTarget; @@ -21,9 +20,9 @@ Top-level content class. Typically a Sequence is used as the content Renderable for a View or effects such as ShadowMap or EnvironmentMap. A Sequence consists of a number of steps. Each step is defined with a -Renderable and a tag to render it with and may also have Lighting, Clipping, -DepthTest and Blend states. Scenes can be used to further organize Renderables -within a step. +Renderable and a tag to render it with and may also have Lighting, DepthTest +and Blend states. Scenes can be used to further organize Renderables within a +step. PostProcessors can be applied after all of the steps in the Sequence have been processed. Framebuffer objects are automatically used to pass render results @@ -40,8 +39,6 @@ public: const Lighting *lighting; DepthTest depth_test; StencilTest stencil_test; - Blend blend; - const Clipping *clipping; Renderable *renderable; public: @@ -52,13 +49,9 @@ public: void set_lighting(const Lighting *); void set_depth_test(const DepthTest &); void set_stencil_test(const StencilTest &); - void set_blend(const Blend &); - void set_clipping(const Clipping *); const Lighting *get_lighting() const { return lighting; } const DepthTest &get_depth_test() const { return depth_test; } const StencilTest &get_stencil_test() const { return stencil_test; } - const Blend &get_blend() const { return blend; } - const Clipping *get_clipping() const { return clipping; } Renderable *get_renderable() const { return renderable; } }; @@ -83,6 +76,8 @@ private: float clear_depth = 1.0f; int clear_stencil = 0; + static Tag noclear_tag; + public: Sequence() = default; Sequence(unsigned, unsigned, const FrameFormat &);