]> git.tdb.fi Git - libs/gl.git/blobdiff - demos/desertpillars/source/desertpillars.h
An assortment of minor fixes
[libs/gl.git] / demos / desertpillars / source / desertpillars.h
index 417073816b0fd50fe433de311fb571817e4de295..3171da8efb6e7288c9aa7e139b5d0c5894f70d67 100644 (file)
@@ -5,6 +5,7 @@
 #include <msp/core/application.h>
 #include <msp/datafile/directorysource.h>
 #include <msp/gl/camera.h>
+#include <msp/gl/device.h>
 #include <msp/gl/environmentmap.h>
 #include <msp/gl/objectinstance.h>
 #include <msp/gl/orderedscene.h>
@@ -16,7 +17,6 @@
 #include <msp/gl/technique.h>
 #include <msp/gl/windowview.h>
 #include <msp/graphics/display.h>
-#include <msp/graphics/glcontext.h>
 #include <msp/graphics/window.h>
 #include <msp/input/keyboard.h>
 #include <msp/time/timestamp.h>
@@ -27,7 +27,6 @@ private:
        struct Options
        {
                Msp::Graphics::WindowOptions wnd_opts;
-               Msp::Graphics::GLOptions gl_opts;
 
                Options();
        };
@@ -38,7 +37,7 @@ private:
                Msp::DataFile::DirectorySource source;
 
        public:
-               Resources();
+               Resources(Msp::GL::ResourceManager *);
        };
 
        class MorphSphere: public Msp::GL::ObjectInstance
@@ -54,23 +53,32 @@ private:
                virtual void setup_render(Msp::GL::Renderer &, Msp::GL::Tag) const;
        };
 
+       class LightFlare: public Msp::GL::ObjectInstance
+       {
+       private:
+               Msp::GL::ProgramData shdata;
+
+       public:
+               LightFlare(const Msp::GL::Object &, unsigned);
+
+               virtual void setup_render(Msp::GL::Renderer &, Msp::GL::Tag) const;
+       };
+
        Msp::Graphics::Display display;
        Options opts;
        Msp::Graphics::Window window;
-       Msp::Graphics::GLContext gl_ctx;
+       Msp::GL::Device gl_device;
        Msp::Input::Keyboard keyboard;
+       Msp::GL::ResourceManager res_mgr;
        Resources resources;
 
        Msp::GL::WindowView view;
        std::unique_ptr<Msp::GL::Sequence> sequence;
        Msp::GL::Camera camera;
+       const Msp::GL::Lighting &lighting;
 
-       std::unique_ptr<Msp::GL::Sky> sky;
-       std::unique_ptr<Msp::GL::Sequence> shadow_seq;
-       std::unique_ptr<Msp::GL::ShadowMap> shadow_map;
        std::unique_ptr<Msp::GL::Sequence> env_seq;
        std::unique_ptr<Msp::GL::EnvironmentMap> env_map;
-       std::unique_ptr<Msp::GL::EnvironmentMap> global_env;
        Msp::GL::OrderedScene content;
 
        MorphSphere sphere;
@@ -83,6 +91,11 @@ private:
        Msp::GL::Vector3 sun_axis;
        Msp::Geometry::Angle<float> sun_angle;
 
+       Msp::GL::PointLight &wisp;
+       Msp::GL::Color wisp_base_color;
+       Msp::Geometry::Angle<float> wisp_angle;
+       LightFlare flare;
+
        float camera_distance;
        Msp::Geometry::Angle<float> camera_base_height;
        Msp::Geometry::Angle<float> camera_angle;