#define MSP_GL_SKY_H_
#include "effect.h"
-#include "framebuffer.h"
#include "programdata.h"
#include "rendertarget.h"
namespace Msp {
namespace GL {
+class DirectionalLight;
class Mesh;
-class Light;
class Program;
/**
};
private:
- const Light &sun;
+ Planet planet;
+ DirectionalLight &sun;
RenderTarget transmittance_lookup;
const Program &transmittance_shprog;
bool transmittance_lookup_dirty;
const Sampler &sampler;
const Sampler &wrap_sampler;
mutable ProgramData shdata;
+ float view_height;
bool rendered;
public:
- Sky(Renderable &, const Light &);
+ Sky(Renderable &, DirectionalLight &);
void set_planet(const Planet &);
void set_view_height(float);
+ Color get_transmittance(const Vector3 &);
+
virtual void setup_frame(Renderer &);
virtual void finish_frame();
virtual void render(Renderer &, Tag = Tag()) const;
+
+ virtual void set_debug_name(const std::string &);
};
} // namespace GL