Ideally the compiler should optimize the shader so the texture isn't
used, but that'll take some extra effort to implement.
backdrop_shprog(Resources::get_global().get<Program>("_sky_backdrop.glsl.shader")),
sampler(Resources::get_global().get<Sampler>("_linear_clamp.samp")),
wrap_sampler(Resources::get_global().get<Sampler>("_linear_clamp_v.samp")),
backdrop_shprog(Resources::get_global().get<Program>("_sky_backdrop.glsl.shader")),
sampler(Resources::get_global().get<Sampler>("_linear_clamp.samp")),
wrap_sampler(Resources::get_global().get<Sampler>("_linear_clamp_v.samp")),
+ dummy_texture(Resources::get_global().get<Texture>("_placeholder.png")),
rendered(false)
{
shdata.uniform("n_steps", 50);
rendered(false)
{
shdata.uniform("n_steps", 50);
renderer.set_pipeline_key(this);
renderer.set_framebuffer(&transmittance_lookup.get_framebuffer());
renderer.set_shader_program(&transmittance_shprog);
renderer.set_pipeline_key(this);
renderer.set_framebuffer(&transmittance_lookup.get_framebuffer());
renderer.set_shader_program(&transmittance_shprog);
+ renderer.set_texture("transmittance_lookup", &dummy_texture, &sampler);
fullscreen_mesh.draw(renderer);
}
fullscreen_mesh.draw(renderer);
}
const Program &backdrop_shprog;
const Sampler &sampler;
const Sampler &wrap_sampler;
const Program &backdrop_shprog;
const Sampler &sampler;
const Sampler &wrap_sampler;
+ const Texture &dummy_texture;
mutable ProgramData shdata;
float view_height;
bool rendered;
mutable ProgramData shdata;
float view_height;
bool rendered;