]> git.tdb.fi Git - libs/gl.git/blobdiff - demos/desertpillars/source/desertpillars.cpp
Split the Light class into subclasses by light type
[libs/gl.git] / demos / desertpillars / source / desertpillars.cpp
index dee2c490148c2ea2ad95325785e1be05137edb88..5932e56968be16851469fd045e58b96708b30dc6 100644 (file)
@@ -1,4 +1,5 @@
 #include <msp/fs/dir.h>
+#include <msp/gl/directionallight.h>
 #include <msp/gl/sequencebuilder.h>
 #include <msp/gl/renderer.h>
 #include <msp/gl/tests.h>
@@ -34,17 +35,17 @@ DesertPillars::DesertPillars(int, char **):
        window.signal_close.connect(sigc::bind(sigc::mem_fun(this, &DesertPillars::exit), 0));
        keyboard.signal_button_press.connect(sigc::bind_return(sigc::mem_fun(this, &DesertPillars::key_press), false));
 
-       GL::Light &sun = resources.get<GL::Light>("Sun.light");
+       GL::DirectionalLight &sun = resources.get<GL::DirectionalLight>("Sun.light");
        sky = make_unique<GL::Sky>(content, sun);
        sky->set_debug_name("Sky");
 
-       unsigned shadow_size = 8192;
-       shadow_seq = make_unique<GL::Sequence>(shadow_size, shadow_size);
+       shadow_seq = make_unique<GL::Sequence>();
+       shadow_seq->set_clear_enabled(true);
        shadow_seq->set_debug_name("Shadow sequence");
        GL::Sequence::Step *step = &shadow_seq->add_step("shadow", content);
        step->set_depth_test(GL::LEQUAL);
 
-       shadow_map = make_unique<GL::ShadowMap>(shadow_size, *sky, sun, *shadow_seq);
+       shadow_map = make_unique<GL::ShadowMap>(8192, *sky, sun, *shadow_seq);
        shadow_map->set_debug_name("Shadow map");
        shadow_map->set_target(GL::Vector3(0.0f, 0.0f, 0.0f), 20.0f);
 
@@ -53,8 +54,8 @@ DesertPillars::DesertPillars(int, char **):
        seq_bld.set_debug_name("Main sequence");
        sequence.reset(seq_bld.build(view));
 
-       unsigned env_size = 256;
-       env_seq = make_unique<GL::Sequence>(env_size, env_size);
+       env_seq = make_unique<GL::Sequence>();
+       env_seq->set_clear_enabled(true);
        env_seq->set_debug_name("Environment sequence");
        step = &env_seq->add_step("", *shadow_map);
        step->set_lighting(&resources.get<GL::Lighting>("Desert.lightn"));