X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fbuilders%2Fsequencetemplate.cpp;h=c125823eb8344da53d4013a6137a44f6897b5f46;hb=c39bb707ff8678d0675538994dc05182e61da193;hp=83c4b7671f75234b42125b30509dff9e1bde2371;hpb=ff8a8bfa114a690b7b25d9503bb5ed811d6aeca9;p=libs%2Fgl.git diff --git a/source/builders/sequencetemplate.cpp b/source/builders/sequencetemplate.cpp index 83c4b767..c125823e 100644 --- a/source/builders/sequencetemplate.cpp +++ b/source/builders/sequencetemplate.cpp @@ -1,5 +1,6 @@ #include #include +#include #include "ambientocclusion.h" #include "blend.h" #include "bloom.h" @@ -20,7 +21,9 @@ SequenceTemplate::SequenceTemplate(): alpha(false), required_multisample(0), max_multisample(0), - clear_enabled(false) + clear_enabled(false), + clear_depth(1.0f), + clear_stencil(0) { } SequenceTemplate::~SequenceTemplate() @@ -83,6 +86,8 @@ void SequenceTemplate::Loader::postprocessor_loaded() void SequenceTemplate::Loader::clear() { + ClearLoader ldr(obj); + load_sub_with(ldr); obj.clear_enabled = true; } @@ -131,19 +136,32 @@ void SequenceTemplate::Loader::step_with_slot(const string &tag, const string &r } -SequenceTemplate::Step::Loader::Loader(Step &p): - DataFile::CollectionObjectLoader(p, 0) +SequenceTemplate::ClearLoader::ClearLoader(SequenceTemplate &t): + ObjectLoader(t) +{ + add("color", &ClearLoader::color); + add("depth", &ClearLoader::depth); + add("stencil", &ClearLoader::stencil); +} + +void SequenceTemplate::ClearLoader::color(float r, float g, float b, float a) +{ + obj.clear_colors.push_back(Color(r, g, b, a)); +} + +void SequenceTemplate::ClearLoader::depth(float d) { - init(); + obj.clear_depth = d; } -SequenceTemplate::Step::Loader::Loader(Step &p, Collection &c): - DataFile::CollectionObjectLoader(p, &c) +void SequenceTemplate::ClearLoader::stencil(int s) { - init(); + obj.clear_stencil = s; } -void SequenceTemplate::Step::Loader::init() + +SequenceTemplate::Step::Loader::Loader(Step &p, Collection *c): + DataFile::CollectionObjectLoader(p, c) { add("blend", &Loader::blend); add("blend", &Loader::blend_factors);