]> git.tdb.fi Git - libs/gl.git/blobdiff - source/effects/environmentmap.cpp
Support multiple PipelineStates in Renderer
[libs/gl.git] / source / effects / environmentmap.cpp
index 614b1252b26ba7b2177bf40c3cb9803e4b052a9f..f6e1c41186442791a98b19d0cad600d829e61aba 100644 (file)
@@ -52,10 +52,10 @@ EnvironmentMap::EnvironmentMap(unsigned s, PixelFormat f, unsigned l, Renderable
        if(l>1)
        {
                specular_fbos.resize(l-1);
-               for(unsigned i=1; i<l; ++i)
+               for(unsigned i=0; i+1<l; ++i)
                {
-                       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);
                }
 
                LinAl::Matrix<float, 3, 3> face_matrices[6];
@@ -143,7 +143,7 @@ void EnvironmentMap::setup_frame(Renderer &renderer)
 
        renderer.set_framebuffer(&irradiance_fbo);
        renderer.set_shader_program(&irradiance_shprog, &prefilter_shdata);
-       renderer.set_texture("environment_map", &env_tex, &sampler);
+       renderer.set_texture("environment_map", &env_tex, 0, &sampler);
        fullscreen_mesh.draw(renderer);
 
        renderer.set_shader_program(&specular_shprog);