Replaced glScissor and glViewport with gl_state functions

This commit is contained in:
korenkonder
2024-06-16 11:53:49 +03:00
parent d230255af6
commit 0ce40e326d
13 changed files with 135 additions and 59 deletions
+15 -15
View File
@@ -164,7 +164,7 @@ namespace rndr {
else
uniform_value[U_REDUCE] = 0;
glViewport(0, 0, t->width, t->height);
gl_state_set_viewport(0, 0, t->width, t->height);
gl_state_active_bind_texture_2d(0, taa_tex[2]->glid);
gl_state_bind_sampler(0, rctx->render_samplers[0]);
shaders_ft.set(SHADER_FT_REDUCE);
@@ -179,7 +179,7 @@ namespace rndr {
frame_texture_reset_capture();
rctx->screen_buffer.Bind();
glViewport(0, 0, rctx->sprite_width, rctx->sprite_height);
gl_state_set_viewport(0, 0, rctx->sprite_width, rctx->sprite_height);
if (ssaa) {
gl_state_active_bind_texture_2d(0, taa_tex[2]->glid);
gl_state_bind_sampler(0, rctx->render_samplers[0]);
@@ -236,7 +236,7 @@ namespace rndr {
}
else
rend_texture[0].Bind();
glViewport(0, 0, render_width[0], render_height[0]);
gl_state_set_viewport(0, 0, render_width[0], render_height[0]);
}
void Render::calc_exposure_chara_data(camera* cam) {
@@ -1323,7 +1323,7 @@ namespace rndr {
rend_texture[i].Bind();
gl_state_active_bind_texture_2d(0, rend_texture[i - 1].GetColorTex());
gl_state_bind_sampler(0, rctx->render_samplers[0]);
glViewport(0, 0, render_width[i], render_height[i]);
gl_state_set_viewport(0, 0, render_width[i], render_height[i]);
draw_quad(
render_post_width[i - 1], render_post_height[i - 1],
render_post_width_scale, render_post_height_scale,
@@ -1334,7 +1334,7 @@ namespace rndr {
shaders_ft.set(SHADER_FT_REDUCE);
int32_t downsample = max_def(downsample_count - 2, 0);
glViewport(0, 0, reduce_width[0], reduce_height[0]);
gl_state_set_viewport(0, 0, reduce_width[0], reduce_height[0]);
reduce_texture[0].Bind();
gl_state_active_bind_texture_2d(0, rend_texture[downsample].GetColorTex());
gl_state_bind_sampler(0, rctx->render_samplers[0]);
@@ -1360,7 +1360,7 @@ namespace rndr {
shaders_ft.set(SHADER_FT_REDUCE);
}
glViewport(0, 0, reduce_width[i], reduce_height[i]);
gl_state_set_viewport(0, 0, reduce_width[i], reduce_height[i]);
draw_quad(reduce_width[i - 1], reduce_height[i - 1],
1.0f, 1.0f, 0.0f, 0.0f, scale, 1.0f, 1.0f, 1.0f, 1.0f);
gl_state_active_bind_texture_2d(0, reduce_tex[i]->glid);
@@ -1624,7 +1624,7 @@ namespace rndr {
rctx->tone_map_ubo.WriteMemory(shader_data);
glViewport(0, 0, render_width[0], render_height[0]);
gl_state_set_viewport(0, 0, render_width[0], render_height[0]);
taa_buffer[2].Bind();
shaders_ft.set(SHADER_FT_TONEMAP);
rctx->tone_map_ubo.Bind(1);
@@ -1744,7 +1744,7 @@ namespace rndr {
exposure_measure.g_spot_coefficients[i * 8 + j] = chara_data->spot_coefficients[j];
rctx->exposure_measure_ubo.WriteMemory(exposure_measure);
glViewport(0, 0, 32, 1);
gl_state_set_viewport(0, 0, 32, 1);
downsample_texture.Bind();
uniform_value[U_EXPOSURE] = 1;
@@ -1766,7 +1766,7 @@ namespace rndr {
exposure_history_counter = (exposure_history_counter + 1) % 32;
}
glViewport(0, 0, 1, 1);
gl_state_set_viewport(0, 0, 1, 1);
exposure_texture.Bind();
uniform_value[U_EXPOSURE] = 2;
shaders_ft.set(SHADER_FT_EXPOSURE);
@@ -1829,7 +1829,7 @@ namespace rndr {
gl_state_active_bind_texture_2d(0, j.type == FRAME_TEXTURE_PRE_PP ? pre_pp_tex : post_pp_tex);
gl_state_bind_sampler(0, rctx_ptr->render_samplers[0]);
glViewport(0, 0, dst_tex->width, dst_tex->height);
gl_state_set_viewport(0, 0, dst_tex->width, dst_tex->height);
uniform_value[U_REDUCE] = 0;
shaders_ft.set(SHADER_FT_REDUCE);
draw_quad(dst_tex->width, dst_tex->height,
@@ -1933,7 +1933,7 @@ namespace rndr {
rctx_ptr->lens_ghost_vbo.UnmapMemory();
glViewport(0, 0, render_width[0], render_height[0]);
gl_state_set_viewport(0, 0, render_width[0], render_height[0]);
rend_texture[0].Bind();
gl_state_enable_blend();
gl_state_set_blend_func(GL_ONE, GL_ONE);
@@ -1984,7 +1984,7 @@ namespace rndr {
downsample_texture.Bind();
for (int32_t i = 1; i < 4; i++) {
glViewport(0, 0, reduce_width[i], reduce_height[i]);
gl_state_set_viewport(0, 0, reduce_width[i], reduce_height[i]);
gl_state_active_bind_texture_2d(0, reduce_tex[i]->glid);
gl_state_bind_sampler(0, rctx->render_samplers[2]);
draw_quad(reduce_width[i], reduce_height[i],
@@ -1993,7 +1993,7 @@ namespace rndr {
}
for (int32_t i = 1; i < 4; i++) {
glViewport(0, 0, reduce_width[i], reduce_height[i]);
gl_state_set_viewport(0, 0, reduce_width[i], reduce_height[i]);
gl_state_active_bind_texture_2d(0, reduce_tex[i]->glid);
gl_state_bind_sampler(0, rctx->render_samplers[2]);
draw_quad(reduce_width[i], reduce_height[i],
@@ -2004,7 +2004,7 @@ namespace rndr {
uniform_value[U_GAUSS] = 1;
shaders_ft.set(SHADER_FT_GAUSS);
glViewport(0, 0, reduce_width[0], reduce_height[0]);
gl_state_set_viewport(0, 0, reduce_width[0], reduce_height[0]);
gl_state_active_bind_texture_2d(0, reduce_tex[0]->glid);
gl_state_bind_sampler(0, rctx->render_samplers[2]);
draw_quad(reduce_width[0], reduce_height[0],
@@ -2014,7 +2014,7 @@ namespace rndr {
uniform_value[U_REDUCE] = 7;
shaders_ft.set(SHADER_FT_REDUCE);
glViewport(0, 0, reduce_width[0], reduce_height[0]);
gl_state_set_viewport(0, 0, reduce_width[0], reduce_height[0]);
reduce_texture[0].Bind();
gl_state_active_bind_texture_2d(0, downsample_texture.GetColorTex());
gl_state_active_bind_texture_2d(1, reduce_tex[1]->glid);