namespace Msp {
namespace GL {
-AmbientOcclusion::AmbientOcclusion(Resources &resources, unsigned w, unsigned h, float):
+AmbientOcclusion::AmbientOcclusion(unsigned w, unsigned h, float):
occlude_target(w, h, (RENDER_COLOR,R8)),
- occlude_shader(resources.get<Program>("_ambientocclusion_occlude.glsl.shader")),
- combine_shader(resources.get<Program>("_ambientocclusion_combine.glsl.shader")),
- quad(resources.get<Mesh>("_fullscreen_quad.mesh")),
- linear_sampler(resources.get<Sampler>("_linear_clamp.samp")),
- nearest_sampler(resources.get<Sampler>("_nearest_clamp.samp"))
+ occlude_shader(Resources::get_global().get<Program>("_ambientocclusion_occlude.glsl.shader")),
+ combine_shader(Resources::get_global().get<Program>("_ambientocclusion_combine.glsl.shader")),
+ quad(Resources::get_global().get<Mesh>("_fullscreen_quad.mesh")),
+ linear_sampler(Resources::get_global().get<Sampler>("_linear_clamp.samp")),
+ nearest_sampler(Resources::get_global().get<Sampler>("_nearest_clamp.samp"))
{
unsigned seed = 1;
rotate_lookup.storage(RGBA8, 4, 4, 1);
edge_depth_threshold(0.1f)
{ }
-AmbientOcclusion *AmbientOcclusion::Template::create(Resources &res, unsigned width, unsigned height) const
+AmbientOcclusion *AmbientOcclusion::Template::create(unsigned width, unsigned height) const
{
- RefPtr<AmbientOcclusion> ao = new AmbientOcclusion(res, width/size_divisor, height/size_divisor);
+ RefPtr<AmbientOcclusion> ao = new AmbientOcclusion(width/size_divisor, height/size_divisor);
ao->set_n_samples(n_samples);
ao->set_occlusion_radius(occlusion_radius);
ao->set_darkness(darkness);