]> git.tdb.fi Git - libs/gl.git/blobdiff - source/effects/sky.cpp
Use pipeline keys for objects and effects
[libs/gl.git] / source / effects / sky.cpp
index a11a76a971bad75f2c6b82f9933af39ddf0db193..eef6a58c4ccdedb622541fb828e2f925a3c17145 100644 (file)
@@ -109,11 +109,13 @@ void Sky::setup_frame(Renderer &renderer)
                if(transmittance_lookup_dirty)
                {
                        transmittance_lookup_dirty = false;
+                       renderer.set_pipeline_key(this);
                        renderer.set_framebuffer(&transmittance_lookup.get_framebuffer());
                        renderer.set_shader_program(&transmittance_shprog);
                        fullscreen_mesh.draw(renderer);
                }
 
+               renderer.set_pipeline_key(this, 1);
                renderer.set_framebuffer(&distant.get_framebuffer());
                renderer.set_shader_program(&distant_shprog);
                renderer.set_texture("transmittance_lookup", &transmittance_lookup.get_target_texture(0), &sampler);
@@ -141,6 +143,7 @@ void Sky::render(Renderer &renderer, Tag tag) const
 
        Renderer::Push push(renderer);
 
+       renderer.set_pipeline_key(this, 2);
        renderer.set_shader_program(&backdrop_shprog, &shdata);
        renderer.set_texture("distant", &distant.get_target_texture(0), &wrap_sampler);
        fullscreen_mesh.draw(renderer);