namespace Msp {
namespace GL {
-class Resources;
+class Mesh;
/**
Creates a cube map texture of the surroundings of the renderable. This texture
TextureCube env_tex;
Renderbuffer depth_buf;
Face faces[6];
+
+ TextureCube irradiance;
+ const Program &irradiance_shprog;
+ Framebuffer irradiance_fbo;
+ const Program &specular_shprog;
+ std::vector<Framebuffer> specular_fbos;
+ ProgramData prefilter_shdata;
+ const Mesh &fullscreen_mesh;
+
const Sampler &sampler;
- mutable ProgramData shdata;
+ const Sampler &mip_sampler;
+ ProgramData shdata;
bool rendered;
unsigned update_interval;
unsigned update_delay;
public:
- EnvironmentMap(Resources &, unsigned size, Renderable &rend, Renderable &env);
- EnvironmentMap(Resources &, unsigned size, PixelFormat, Renderable &rend, Renderable &env);
+ 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);