X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuilders%2Fsequencetemplate.h;h=bf1e8be185e086efc6b3597139f827630e672536;hb=f19366d32cc29287a2730cfba90893e407754081;hp=660a043297bb2f8046c283bf6954ae538d620f09;hpb=ff8a8bfa114a690b7b25d9503bb5ed811d6aeca9;p=libs%2Fgl.git diff --git a/source/builders/sequencetemplate.h b/source/builders/sequencetemplate.h index 660a0432..bf1e8be1 100644 --- a/source/builders/sequencetemplate.h +++ b/source/builders/sequencetemplate.h @@ -8,7 +8,7 @@ #include "blend.h" #include "depthtest.h" #include "postprocessor.h" -#include "predicate.h" +#include "resources.h" #include "stenciltest.h" namespace Msp { @@ -70,9 +70,10 @@ public: std::string inline_base_name; public: - Loader(Step &); - Loader(Step &, Collection &); + Loader(Step &s): Loader(s, 0) { } + Loader(Step &s, Collection &c): Loader(s, &c) { } private: + Loader(Step &, Collection *); void init(); public: @@ -110,6 +111,17 @@ public: }; private: + class ClearLoader: public DataFile::ObjectLoader + { + public: + ClearLoader(SequenceTemplate &); + + private: + void color(float, float, float, float); + void depth(float); + void stencil(int); + }; + typedef TypeRegistry PostProcessorRegistry; bool hdr; @@ -119,6 +131,9 @@ private: std::vector steps; std::vector postprocessors; bool clear_enabled; + std::vector clear_colors; + float clear_depth; + int clear_stencil; public: SequenceTemplate(); @@ -131,6 +146,9 @@ public: const std::vector &get_steps() const { return steps; } const std::vector &get_postprocessors() const { return postprocessors; } bool is_clear_enabled() const { return clear_enabled; } + const std::vector &get_clear_colors() const { return clear_colors; } + float get_clear_depth() const { return clear_depth; } + int get_clear_stencil() const { return clear_stencil; } template static void register_postprocessor(const std::string &);