]> git.tdb.fi Git - libs/gl.git/blobdiff - source/effects/environmentmap.h
Use constructor delegation instead of init functions when possible
[libs/gl.git] / source / effects / environmentmap.h
index b671c91b10ee067d8de7e44b24fe2e5aa8d5a58b..bf6fbaf0f2b77081ffea4638400554837b91775c 100644 (file)
@@ -1,19 +1,19 @@
 #ifndef MSP_GL_ENVIRONMENTMAP_H_
 #define MSP_GL_ENVIRONMENTMAP_H_
 
+#include <vector>
 #include "camera.h"
 #include "effect.h"
 #include "framebuffer.h"
-#include "matrix.h"
 #include "programdata.h"
-#include "renderbuffer.h"
+#include "texture2d.h"
 #include "texturecube.h"
-#include "vector.h"
 
 namespace Msp {
 namespace GL {
 
 class Mesh;
+class Sampler;
 
 /**
 Creates a cube map texture of the surroundings of the renderable.  This texture
@@ -36,7 +36,7 @@ private:
        unsigned size;
        Renderable &environment;
        TextureCube env_tex;
-       Renderbuffer depth_buf;
+       Texture2D depth_buf;
        Face faces[6];
 
        TextureCube irradiance;
@@ -55,13 +55,9 @@ private:
        unsigned update_delay;
 
 public:
-       EnvironmentMap(unsigned size, Renderable &rend, Renderable &env);
        EnvironmentMap(unsigned size, PixelFormat, Renderable &rend, Renderable &env);
        EnvironmentMap(unsigned size, PixelFormat, unsigned, Renderable &rend, Renderable &env);
-private:
-       void init(unsigned, PixelFormat, unsigned);
 
-public:
        void set_depth_clip(float, float);
 
        /** Sets the interval in frames between environment map updates.  A value of
@@ -75,6 +71,8 @@ public:
        virtual void finish_frame();
 
        virtual void render(Renderer &, Tag = Tag()) const;
+
+       virtual void set_debug_name(const std::string &);
 };
 
 } // namespace GL