renderer.set_framebuffer(&irradiance_fbo);
renderer.set_shader_program(&irradiance_shprog, &prefilter_shdata);
renderer.set_texture("environment_map", &env_tex, 0, &sampler);
renderer.set_framebuffer(&irradiance_fbo);
renderer.set_shader_program(&irradiance_shprog, &prefilter_shdata);
renderer.set_texture("environment_map", &env_tex, 0, &sampler);
for(unsigned i=0; i<specular_fbos.size(); ++i)
{
prefilter_shdata.uniform("roughness", 1.0f-sqrt(1.0f-static_cast<float>(i+1)/specular_fbos.size()));
for(unsigned i=0; i<specular_fbos.size(); ++i)
{
prefilter_shdata.uniform("roughness", 1.0f-sqrt(1.0f-static_cast<float>(i+1)/specular_fbos.size()));
env_map->set_fixed_position(fixed_position);
env_map->set_depth_clip(near_clip, far_clip);
env_map->set_fixed_position(fixed_position);
env_map->set_depth_clip(near_clip, far_clip);