]> git.tdb.fi Git - libs/gl.git/blobdiff - source/effects/ambientocclusion.cpp
Access builtin resources through a global instance
[libs/gl.git] / source / effects / ambientocclusion.cpp
index d47d18aaa8a6f6992ffb800f29463ee70b87aea2..d23469edf8aeeac20a0a62cf285e47dde551f019 100644 (file)
@@ -12,13 +12,13 @@ using namespace std;
 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);
@@ -111,9 +111,9 @@ AmbientOcclusion::Template::Template():
        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);