mirror of
https://github.com/korenkonder/ReDIVA.git
synced 2026-10-12 00:58:20 +03:00
Added more Event stuff
This commit is contained in:
@@ -374,6 +374,7 @@ namespace rndr {
|
||||
void RenderManager::pass_shadow() {
|
||||
render_context* rctx = rctx_ptr;
|
||||
gl_state_begin_event("pass_shadow");
|
||||
gl_state_begin_event("texproj");
|
||||
rctx->camera->update_data();
|
||||
if (rctx->litproj->set()) {
|
||||
rctx->obj_scene_ubo.WriteMemory(rctx->obj_scene);
|
||||
@@ -406,6 +407,7 @@ namespace rndr {
|
||||
gl_state_bind_framebuffer(0);
|
||||
}
|
||||
}
|
||||
gl_state_end_event();
|
||||
|
||||
rctx->obj_scene_ubo.WriteMemory(rctx->obj_scene);
|
||||
|
||||
@@ -1058,6 +1060,7 @@ namespace rndr {
|
||||
RenderTexture* rt = &render->rend_texture[0];
|
||||
RenderTexture* contour_rt = render->sss_contour_texture;
|
||||
|
||||
gl_state_begin_event("`anonymous-namespace'::draw_npr_frame");
|
||||
gl_state_enable_blend();
|
||||
gl_state_set_blend_func(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
gl_state_set_blend_equation(GL_FUNC_ADD);
|
||||
@@ -1090,6 +1093,7 @@ namespace rndr {
|
||||
gl_state_bind_sampler(14, rctx->render_samplers[0]);
|
||||
gl_state_enable_depth_test();
|
||||
gl_state_disable_blend();
|
||||
gl_state_end_event();
|
||||
}
|
||||
|
||||
void RenderManager::pass_sprite_surf() {
|
||||
@@ -1115,6 +1119,7 @@ void image_filter_scale(GLuint dst, GLuint src, const vec4 scale) {
|
||||
|
||||
render_context* rctx = rctx_ptr;
|
||||
|
||||
gl_state_begin_event("`anonymous-namespace'::Impl::apply_no_filter_sub");
|
||||
texture_param tex_params[2];
|
||||
texture_params_get(dst, &tex_params[0], src, &tex_params[1]);
|
||||
|
||||
@@ -1139,6 +1144,7 @@ void image_filter_scale(GLuint dst, GLuint src, const vec4 scale) {
|
||||
shaders_ft.draw_arrays(GL_TRIANGLE_STRIP, 0, 4);
|
||||
|
||||
texture_params_restore(&tex_params[0], &tex_params[1]);
|
||||
gl_state_end_event();
|
||||
}
|
||||
|
||||
void draw_pass_set_camera() {
|
||||
@@ -1296,6 +1302,7 @@ static void draw_pass_shadow_filter(RenderTexture* a1, RenderTexture* a2,
|
||||
|
||||
render_context* rctx = rctx_ptr;
|
||||
|
||||
gl_state_begin_event("`anonymous-namespace'::Impl::apply_esm_filter");
|
||||
filter_scene_shader_data filter_scene = {};
|
||||
filter_scene.g_transform = 0.0f;
|
||||
filter_scene.g_texcoord = { 1.0f, 1.0f, 0.0f, 0.0f };
|
||||
@@ -1342,17 +1349,22 @@ static void draw_pass_shadow_filter(RenderTexture* a1, RenderTexture* a2,
|
||||
shader::unbind();
|
||||
|
||||
texture_params_restore(&tex_params[0], &tex_params[1]);
|
||||
gl_state_end_event();
|
||||
}
|
||||
|
||||
static void draw_pass_shadow_esm_filter(RenderTexture* dst, RenderTexture* buf, RenderTexture* src) {
|
||||
GLuint dst_tex = dst->GetColorTex();
|
||||
GLuint buf_tex = buf->GetColorTex();
|
||||
GLuint src_tex = src->GetColorTex();
|
||||
if (!dst_tex || !buf_tex || !src_tex)
|
||||
gl_state_begin_event("`anonymous-namespace'::Impl::apply_esm_min_filter");
|
||||
if (!dst_tex || !buf_tex || !src_tex) {
|
||||
gl_state_end_event();
|
||||
return;
|
||||
}
|
||||
|
||||
render_context* rctx = rctx_ptr;
|
||||
|
||||
gl_state_begin_event("minimize");
|
||||
filter_scene_shader_data filter_scene = {};
|
||||
filter_scene.g_transform = 0.0f;
|
||||
filter_scene.g_texcoord = { 1.0f, 1.0f, 0.0f, 0.0f };
|
||||
@@ -1379,7 +1391,9 @@ static void draw_pass_shadow_esm_filter(RenderTexture* dst, RenderTexture* buf,
|
||||
gl_state_bind_sampler(0, rctx->render_samplers[0]);
|
||||
gl_state_bind_vertex_array(rctx->common_vao);
|
||||
shaders_ft.draw_arrays(GL_TRIANGLE_STRIP, 0, 4);
|
||||
gl_state_end_event();
|
||||
|
||||
gl_state_begin_event("erosion");
|
||||
dst->Bind();
|
||||
esm_filter_batch.g_params = { 0.75f / (float_t)tex_params[2].width,
|
||||
0.75f / (float_t)tex_params[2].height, 0.0f, 0.0f };
|
||||
@@ -1393,6 +1407,8 @@ static void draw_pass_shadow_esm_filter(RenderTexture* dst, RenderTexture* buf,
|
||||
shaders_ft.draw_arrays(GL_TRIANGLE_STRIP, 0, 4);
|
||||
|
||||
texture_params_restore(&tex_params[0], &tex_params[1], &tex_params[2]);
|
||||
gl_state_end_event();
|
||||
gl_state_end_event();
|
||||
}
|
||||
|
||||
static bool draw_pass_shadow_litproj(light_proj* litproj) {
|
||||
@@ -1775,6 +1791,7 @@ static void blur_filter_apply(render_context* rctx, RenderTexture* dst, RenderTe
|
||||
if (!dst || !src)
|
||||
return;
|
||||
|
||||
gl_state_begin_event("`anonymous-namespace'::Impl::apply_blur_filter_sub");
|
||||
filter_scene_shader_data filter_scene = {};
|
||||
float_t w = res_scale.x / (float_t)src->GetWidth();
|
||||
float_t h = res_scale.y / (float_t)src->GetHeight();
|
||||
@@ -1799,6 +1816,7 @@ static void blur_filter_apply(render_context* rctx, RenderTexture* dst, RenderTe
|
||||
gl_state_active_bind_texture_2d(0, src->GetColorTex());
|
||||
gl_state_bind_sampler(0, rctx->render_samplers[0]);
|
||||
shaders_ft.draw_arrays(GL_TRIANGLE_STRIP, (GLint)(filter * 4LL), 4);
|
||||
gl_state_end_event();
|
||||
}
|
||||
|
||||
static void render_manager_free_render_textures() {
|
||||
|
||||
Reference in New Issue
Block a user