- specular_fbos[i-1].set_format((COLOR_ATTACHMENT,f));
- specular_fbos[i-1].attach_layered(COLOR_ATTACHMENT, env_tex, i);
+ specular_fbos[i].set_format((COLOR_ATTACHMENT,f));
+ specular_fbos[i].attach_layered(COLOR_ATTACHMENT, env_tex, i+1);
- shdata.uniform("env_world_matrix", LinAl::SquareMatrix<float, 3>::identity());
+ shdata.uniform("env_world_matrix", LinAl::Matrix<float, 3, 3>::identity());
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);