diff --git a/src/CRE/render.cpp b/src/CRE/render.cpp index 2a6ea835..6061697e 100644 --- a/src/CRE/render.cpp +++ b/src/CRE/render.cpp @@ -1881,8 +1881,7 @@ namespace rndr { taa_buffer[2].begin_render(rend_data_ctx.state); shaders_ft.set(rend_data_ctx.state, rend_data_ctx.shader_flags, SHADER_FT_TONEMAP); rend_data_ctx.state.bind_uniform_buffer_base(1, rctx->tone_map_ubo); - rend_data_ctx.state.bind_vertex_array(rctx->common_vao); - rend_data_ctx.state.draw_arrays(GL_TRIANGLE_STRIP, 0, 4); + draw_quad(rend_data_ctx, width, height, v35, v36, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f); rend_data_ctx.state.active_bind_texture_2d(2, 0); } diff --git a/src/CRE/sss.cpp b/src/CRE/sss.cpp index ea0941be..ae09eb2e 100644 --- a/src/CRE/sss.cpp +++ b/src/CRE/sss.cpp @@ -46,8 +46,13 @@ void sss_data::apply_filter(struct render_data_context& rend_data_ctx) { rend_data_ctx.state.active_texture(0); if (downsample) { textures[0].begin_render(rend_data_ctx.state); - rend_data_ctx.state.set_viewport(0, 0, 640, 360); rndr::Render* rend = &rctx->render; + float_t render_width; + float_t render_height; + float_t render_post_width; + float_t render_post_height; + rend->get_render_resolution(&render_width, &render_height, &render_post_width, &render_post_height); + rend_data_ctx.state.set_viewport(0, 0, 640, 360); rend_data_ctx.shader_flags.arr[U_REDUCE_TEX] = 0; shaders_ft.set(rend_data_ctx.state, rend_data_ctx.shader_flags, SHADER_FT_REDUCE); RenderTexture& rt = reflect_draw @@ -56,7 +61,7 @@ void sss_data::apply_filter(struct render_data_context& rend_data_ctx) { rend_data_ctx.state.bind_texture_2d(rt.get_texture_glid()); rend_data_ctx.state.bind_sampler(0, rctx->render_samplers[0]); sss_draw_quad(rend_data_ctx, rt.get_width(), rt.get_height(), - 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 0.0f); + render_width / render_post_width, render_height / render_post_height, 1.0f, 1.0f, 1.0f, 1.0f); } textures[2].begin_render(rend_data_ctx.state);