From 33cdfb7232efe5aed3e7564f2c84950b098f8e55 Mon Sep 17 00:00:00 2001 From: korenkonder Date: Tue, 2 Jun 2026 12:25:00 +0300 Subject: [PATCH] Small corrections that shouldn't affect anything --- src/CRE/render.cpp | 4 +- src/CRE/render_manager.cpp | 87 +++++++++++++++++++------------------- src/CRE/render_texture.cpp | 2 +- 3 files changed, 47 insertions(+), 46 deletions(-) diff --git a/src/CRE/render.cpp b/src/CRE/render.cpp index 4e1b8373..bc43adf7 100644 --- a/src/CRE/render.cpp +++ b/src/CRE/render.cpp @@ -1375,7 +1375,7 @@ namespace rndr { void Render::begin_render(p_gl_rend_state& p_gl_rend_st, bool composite_back) { if (composite_back) { composite_back_fbo.begin_render(p_gl_rend_st); - this->composite_back = 1; + this->composite_back = true; } else fb_fbo[0].begin_render(p_gl_rend_st); @@ -1384,7 +1384,7 @@ namespace rndr { // 0x1404AE680 void Render::end_render(p_gl_rend_state& p_gl_rend_st) { - fb_fbo->end_render(p_gl_rend_st); + fb_fbo[0].end_render(p_gl_rend_st); } // 0x1404A93B0 diff --git a/src/CRE/render_manager.cpp b/src/CRE/render_manager.cpp index c520f9ba..edd57cf5 100644 --- a/src/CRE/render_manager.cpp +++ b/src/CRE/render_manager.cpp @@ -800,12 +800,12 @@ namespace rndr { void RenderManager::pass_refract(render_data_context& rend_data_ctx) { render_context* rctx = rctx_ptr; rend_data_ctx.state.begin_event("pass_refract"); - RenderTexture& refract_texture = get_render_texture(1); + RenderTexture& reflect_texture = get_render_texture(1); if (rctx->disp_manager->get_obj_count(mdl::OBJ_TYPE_REFRACT_OPAQUE) || rctx->disp_manager->get_obj_count(mdl::OBJ_TYPE_REFRACT_TRANSPARENT) || rctx->disp_manager->get_obj_count(mdl::OBJ_TYPE_REFRACT_TRANSLUCENT)) { - refract_texture.begin_render(rend_data_ctx.state); - refract_texture.set_viewport(rend_data_ctx.state); + reflect_texture.begin_render(rend_data_ctx.state); + reflect_texture.set_viewport(rend_data_ctx.state); rend_data_ctx.set_batch_scene_camera(cam); for (int32_t i = LIGHT_SET_MAIN; i < LIGHT_SET_MAX; i++) @@ -830,16 +830,16 @@ namespace rndr { rctx->draw_state->rend_data[rend_data_ctx.index].shader_index = -1; shader::unbind(rend_data_ctx.state); - refract_texture.end_render(rend_data_ctx.state); + reflect_texture.end_render(rend_data_ctx.state); } else { - refract_texture.begin_render(rend_data_ctx.state); + reflect_texture.begin_render(rend_data_ctx.state); vec4 clear_color; rend_data_ctx.state.get_clear_color(clear_color.x, clear_color.y, clear_color.z, clear_color.w); rend_data_ctx.state.clear_color(0.0f, 0.0f, 0.0f, 0.0f); rend_data_ctx.state.clear(GL_COLOR_BUFFER_BIT); rend_data_ctx.state.clear_color(clear_color.x, clear_color.y, clear_color.z, clear_color.w); - refract_texture.end_render(rend_data_ctx.state); + reflect_texture.end_render(rend_data_ctx.state); } rend_data_ctx.state.end_event(); } @@ -906,8 +906,6 @@ namespace rndr { if (!spr::getObjListCount(spr::SPR_TARGET_BACK)) return; - render_context* rctx = rctx_ptr; - rend_data_ctx.state.begin_event("pass_pre_sprite"); rndr::Render* rend = render; rend->begin_render(rend_data_ctx.state, true); @@ -919,7 +917,7 @@ namespace rndr { rend_data_ctx.state.disable_cull_face(); spr::flush(rend_data_ctx, spr::SPR_TARGET_BACK, true, rend->user_fbo.get_texture(), - rctx->camera->view_projection_aet_3d); + rctx_ptr->camera->view_projection_aet_3d); rend_data_ctx.state.enable_cull_face(); rend_data_ctx.state.disable_blend(); rend_data_ctx.state.enable_depth_test(); @@ -1164,48 +1162,51 @@ namespace rndr { void RenderManager::pass_sprite(render_data_context& rend_data_ctx) { render_context* rctx = rctx_ptr; - if (!spr::getObjListCount(spr::SPR_TARGET_FRONT)) - return; - rend_data_ctx.state.begin_event("pass_sprite"); - rndr::Render* rend = render; - rend_data_ctx.state.set_viewport(0, 0, width, height); + if (spr::getObjListCount(spr::SPR_TARGET_FRONT)) { + rend_data_ctx.state.set_viewport(0, 0, width, height); - if (Vulkan::use) - rctx->screen_buffer.begin_render(rend_data_ctx.state); + if (Vulkan::use) + rctx->screen_buffer.begin_render(rend_data_ctx.state); #ifdef USE_OPENGL - else if (multisample && multisample_framebuffer) { - rend_data_ctx.state.bind_framebuffer(multisample_framebuffer); - rend_data_ctx.state.enable_multisample(); - rend_data_ctx.state.clear_color(0.0f, 0.0f, 0.0f, 0.0f); - rend_data_ctx.state.clear(GL_COLOR_BUFFER_BIT); - } - else - rctx->screen_buffer.begin_render(rend_data_ctx.state); + else if (multisample && multisample_framebuffer) { + rend_data_ctx.state.bind_framebuffer(multisample_framebuffer); + rend_data_ctx.state.enable_multisample(); + rend_data_ctx.state.clear_color(0.0f, 0.0f, 0.0f, 0.0f); + rend_data_ctx.state.clear(GL_COLOR_BUFFER_BIT); + } + else + rctx->screen_buffer.begin_render(rend_data_ctx.state); #endif - rend_data_ctx.state.disable_depth_test(); - rend_data_ctx.state.enable_blend(); - rend_data_ctx.state.disable_cull_face(); - spr::flush(rend_data_ctx, spr::SPR_TARGET_FRONT, true, - rctx->screen_overlay_buffer.get_texture(), - rctx->camera->view_projection_aet_2d); - rend_data_ctx.state.enable_cull_face(); - rend_data_ctx.state.disable_blend(); - rend_data_ctx.state.enable_depth_test(); + rend_data_ctx.state.disable_depth_test(); + rend_data_ctx.state.enable_blend(); + rend_data_ctx.state.disable_cull_face(); + spr::flush(rend_data_ctx, spr::SPR_TARGET_FRONT, true, + rctx->screen_overlay_buffer.get_texture(), + rctx->camera->view_projection_aet_2d); + rend_data_ctx.state.enable_cull_face(); + rend_data_ctx.state.disable_blend(); + rend_data_ctx.state.enable_depth_test(); + if (Vulkan::use) + rctx->screen_buffer.end_render(rend_data_ctx.state); #ifdef USE_OPENGL - if (!Vulkan::use && multisample && multisample_framebuffer) { - rend_data_ctx.state.bind_framebuffer(rctx->screen_buffer.get_fb()); - rend_data_ctx.state.disable_multisample(); - rend_data_ctx.state.bind_read_framebuffer(multisample_framebuffer); - rend_data_ctx.state.blit_framebuffer(0, 0, width, height, - 0, 0, width, height, GL_COLOR_BUFFER_BIT, GL_NEAREST); - rend_data_ctx.state.bind_read_framebuffer(0); - } + if (multisample && multisample_framebuffer) { + rend_data_ctx.state.bind_framebuffer(rctx->screen_buffer.get_fb()); + rend_data_ctx.state.disable_multisample(); + rend_data_ctx.state.bind_read_framebuffer(multisample_framebuffer); + rend_data_ctx.state.blit_framebuffer(0, 0, width, height, + 0, 0, width, height, GL_COLOR_BUFFER_BIT, GL_NEAREST); + rend_data_ctx.state.bind_read_framebuffer(0); + } + else + rctx->screen_buffer.end_render(rend_data_ctx.state); #endif - gl_get_error_print(); - rend_data_ctx.state.bind_framebuffer(0); + shader::unbind(rend_data_ctx.state); + + gl_get_error_print(); + } rend_data_ctx.state.end_event(); } diff --git a/src/CRE/render_texture.cpp b/src/CRE/render_texture.cpp index 1b4967cb..2591a34b 100644 --- a/src/CRE/render_texture.cpp +++ b/src/CRE/render_texture.cpp @@ -143,7 +143,7 @@ int32_t RenderTexture::create_texture(int32_t width, int32_t height, int32_t lev return -1; m_tex_count++; - depth = this->get_depth_texture_glid(); + depth = get_depth_texture_glid(); stencil = depth_format == GL_DEPTH24_STENCIL8 || depth_format == GL_DEPTH32F_STENCIL8; } else {