X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=demos%2Fdesertpillars%2Fsource%2Fdesertpillars.h;h=7aae1c2d903dbc52e0593950861b14152a5f94e0;hb=5d9ecb00aea134fa082a0fa6b9c82c643a884a32;hp=417073816b0fd50fe433de311fb571817e4de295;hpb=be3b67fdd0d0420ffc1e97a6535159c63a97fdc8;p=libs%2Fgl.git diff --git a/demos/desertpillars/source/desertpillars.h b/demos/desertpillars/source/desertpillars.h index 41707381..7aae1c2d 100644 --- a/demos/desertpillars/source/desertpillars.h +++ b/demos/desertpillars/source/desertpillars.h @@ -5,6 +5,7 @@ #include #include #include +#include #include #include #include @@ -16,7 +17,6 @@ #include #include #include -#include #include #include #include @@ -27,7 +27,6 @@ private: struct Options { Msp::Graphics::WindowOptions wnd_opts; - Msp::Graphics::GLOptions gl_opts; Options(); }; @@ -36,9 +35,10 @@ private: { private: Msp::DataFile::DirectorySource source; + Msp::GL::ResourceManager res_mgr; public: - Resources(); + Resources(Msp::GL::ResourceManager *); }; class MorphSphere: public Msp::GL::ObjectInstance @@ -54,23 +54,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 sequence; Msp::GL::Camera camera; + const Msp::GL::Lighting &lighting; - std::unique_ptr sky; - std::unique_ptr shadow_seq; - std::unique_ptr shadow_map; std::unique_ptr env_seq; std::unique_ptr env_map; - std::unique_ptr global_env; Msp::GL::OrderedScene content; MorphSphere sphere; @@ -83,6 +92,11 @@ private: Msp::GL::Vector3 sun_axis; Msp::Geometry::Angle sun_angle; + Msp::GL::PointLight &wisp; + Msp::GL::Color wisp_base_color; + Msp::Geometry::Angle wisp_angle; + LightFlare flare; + float camera_distance; Msp::Geometry::Angle camera_base_height; Msp::Geometry::Angle camera_angle;