X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fambientocclusion.cpp;h=c02daf52a6942cd24af3a6c5dc34dd578419da43;hb=8daa4f20451419ebd065729a17960eeabde1751f;hp=e22e039159a39b1b57927c77aa47a4053f916080;hpb=86af62e6f5a743a08c04dde873f51802af5982c4;p=libs%2Fgl.git diff --git a/source/ambientocclusion.cpp b/source/ambientocclusion.cpp index e22e0391..c02daf52 100644 --- a/source/ambientocclusion.cpp +++ b/source/ambientocclusion.cpp @@ -69,23 +69,24 @@ AmbientOcclusion::AmbientOcclusion(unsigned w, unsigned h, float depth_ratio): quad(get_fullscreen_quad()) { occlude_shader.attach_shader(get_fullscreen_vertex_shader()); - occlude_shader.attach_shader_owned(new Shader(FRAGMENT_SHADER, occlude_fs)); + occlude_shader.attach_shader_owned(new FragmentShader(occlude_fs)); occlude_shader.link(); combine_shader.attach_shader(get_fullscreen_vertex_shader()); - combine_shader.attach_shader_owned(new Shader(FRAGMENT_SHADER, combine_fs)); + combine_shader.attach_shader_owned(new FragmentShader(combine_fs)); combine_shader.link(); - occlusion.storage(GL::RGB, w, h); - occlusion.set_min_filter(GL::NEAREST); - occlusion.set_mag_filter(GL::NEAREST); + occlusion.storage(RGB, w, h); + occlusion.set_min_filter(NEAREST); + occlusion.set_mag_filter(NEAREST); + occlusion.set_wrap(CLAMP_TO_EDGE); fbo.attach(COLOR_ATTACHMENT0, occlusion, 0); combine_texturing.attach(2, occlusion); - rotate_lookup.storage(GL::RGBA, 4, 4); - rotate_lookup.set_min_filter(GL::NEAREST); - rotate_lookup.set_mag_filter(GL::NEAREST); + rotate_lookup.storage(RGBA, 4, 4); + rotate_lookup.set_min_filter(NEAREST); + rotate_lookup.set_mag_filter(NEAREST); unsigned char data[64]; for(unsigned i=0; i<16; ++i) { @@ -97,7 +98,7 @@ AmbientOcclusion::AmbientOcclusion(unsigned w, unsigned h, float depth_ratio): data[i*3+2] = static_cast(127-s*127); data[i*3+4] = static_cast(127+c*127); } - rotate_lookup.image(0, GL::RGBA, GL::UNSIGNED_BYTE, data); + rotate_lookup.image(0, RGBA, UNSIGNED_BYTE, data); occlude_texturing.attach(1, rotate_lookup); @@ -137,15 +138,15 @@ void AmbientOcclusion::render(const Texture2D &color, const Texture2D &depth) Bind unbind_blend(static_cast(0), true); { - GL::Bind bind_fbo(fbo, true); - GL::Bind bind_tex(occlude_texturing); - GL::Bind bind_shader(occlude_shader); + Bind bind_fbo(fbo, true); + Bind bind_tex(occlude_texturing); + Bind bind_shader(occlude_shader); occlude_shdata.apply(); quad.draw(); } - GL::Bind bind_tex(combine_texturing); - GL::Bind bind_shader(combine_shader); + Bind bind_tex(combine_texturing); + Bind bind_shader(combine_shader); combine_shdata.apply(); quad.draw(); }