X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Feffects%2Fenvironmentmap.cpp;h=f6e1c41186442791a98b19d0cad600d829e61aba;hb=50492d9a5106b3dd76e3d6fa5ac88d9f97ba3c47;hp=b1a50ecc720df131be3226e96cd59b3384680e85;hpb=84e0e55710123e54617d342df852007f8b60af24;p=libs%2Fgl.git diff --git a/source/effects/environmentmap.cpp b/source/effects/environmentmap.cpp index b1a50ecc..f6e1c411 100644 --- a/source/effects/environmentmap.cpp +++ b/source/effects/environmentmap.cpp @@ -13,12 +13,12 @@ using namespace std; namespace Msp { namespace GL { -EnvironmentMap::EnvironmentMap(unsigned s, PixelFormat f, Renderable &r, Renderable &e): - EnvironmentMap(s, f, 1, r, e) +EnvironmentMap::EnvironmentMap(unsigned s, PixelFormat f, Renderable &c, Renderable &e): + EnvironmentMap(s, f, 1, c, e) { } -EnvironmentMap::EnvironmentMap(unsigned s, PixelFormat f, unsigned l, Renderable &r, Renderable &e): - Effect(r), +EnvironmentMap::EnvironmentMap(unsigned s, PixelFormat f, unsigned l, Renderable &c, Renderable &e): + Effect(c), size(s), environment(e), irradiance_shprog(Resources::get_global().get("_envmap_irradiance.glsl.shader")), @@ -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 face_matrices[6]; @@ -106,7 +106,7 @@ void EnvironmentMap::setup_frame(Renderer &renderer) return; rendered = true; - renderable.setup_frame(renderer); + content.setup_frame(renderer); if(update_delay) { @@ -124,7 +124,7 @@ void EnvironmentMap::setup_frame(Renderer &renderer) center = fixed_position; else { - const Matrix *matrix = renderable.get_matrix(); + const Matrix *matrix = content.get_matrix(); if(!matrix) return; @@ -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); @@ -160,7 +160,7 @@ void EnvironmentMap::finish_frame() if(rendered) { rendered = false; - renderable.finish_frame(); + content.finish_frame(); environment.finish_frame(); } } @@ -170,14 +170,14 @@ void EnvironmentMap::render(Renderer &renderer, Tag tag) const if(in_setup_frame) return; if(!is_enabled_for_method(tag)) - return renderable.render(renderer, tag); + return content.render(renderer, tag); Renderer::Push _push_rend(renderer); renderer.set_texture("environment_map", &env_tex, &mip_sampler); renderer.set_texture("irradiance_map", &irradiance, &sampler); renderer.add_shader_data(shdata); - renderable.render(renderer, tag); + content.render(renderer, tag); } void EnvironmentMap::set_debug_name(const string &name)