#include <msp/game/meshsource.h>
#include <msp/game/stage.h>
#include <msp/game/transform.h>
-#include <msp/gl/sequencebuilder.h>
-#include <msp/gl/sequencetemplate.h>
+#include <msp/gl/colorcurve.h>
#include <msp/gl/directionallight.h>
#include <msp/gl/pointlight.h>
#include "lightemitter.h"
active_camera = event.camera;
if(event.camera)
{
- const string &seq_name = event.camera->get_sequence_name();
- if(seq_name!=current_seq_name)
- {
- current_seq_name = seq_name;
- GL::SequenceBuilder bld(stage.get_resources().get<GL::SequenceTemplate>(seq_name));
- bld.set_renderable("content", scene);
- sequence.reset(bld.build(view));
- view.set_content(sequence.get());
- }
+ GL::FrameFormat fmt = (GL::COLOR_ATTACHMENT,GL::RGBA8, GL::DEPTH_ATTACHMENT);
+ sequence = make_unique<GL::Sequence>(view.get_width(), view.get_height(), fmt);
+ sequence->set_clear_enabled(true);
+ sequence->set_clear_colors({ GL::Color(0.0f) });
+
+ GL::Sequence::Step &opaque = sequence->add_step(GL::Tag(), scene);
+ opaque.set_depth_test(GL::LEQUAL);
+ opaque.set_lighting(&lighting);
+
+ unique_ptr<GL::ColorCurve> colorcurve = make_unique<GL::ColorCurve>();
+ colorcurve->set_srgb();
+ sequence->add_postprocessor(*colorcurve);
+ sequence->add_owned(colorcurve.release());
+
+ view.set_content(sequence.get());
}
}