mirror of
https://github.com/korenkonder/ReDIVA.git
synced 2026-10-01 03:08:16 +03:00
Added some missing code for Liar Betty PV
This commit is contained in:
+21
-23
@@ -86,9 +86,9 @@ namespace rndr {
|
||||
RenderManager::RenderManager() : pass_sw(), reflect_blur_num(), reflect_blur_filter(),
|
||||
render(), sync_gpu(), cpu_time(), gpu_time(), draw_pass_3d(), field_11E(), field_11F(),
|
||||
field_120(), show_ref_map(), reflect_type(), clear(), tex_index(), width(), height(),
|
||||
multisample_framebuffer(), multisample_renderbuffer(), multisample(), check_state(),
|
||||
show_vector_flags(), show_vector_length(), show_vector_z_offset(), show_stage_shadow(),
|
||||
effect_texture(), npr_param(), field_31C(), field_31D(), field_31E(), field_31F(), field_320(), npr() {
|
||||
multisample_framebuffer(), multisample_renderbuffer(), multisample(), check_state(), show_vector_flags(),
|
||||
show_vector_length(), show_vector_z_offset(), show_stage_shadow(), effect_texture(), npr_param(),
|
||||
field_31C(), reflect_texture_mask(), reflect_tone_curve(), field_31F(), light_stage_ambient(), npr() {
|
||||
for (bool& i : pass_sw)
|
||||
i = true;
|
||||
|
||||
@@ -165,10 +165,10 @@ namespace rndr {
|
||||
refract = false;
|
||||
npr_param = 0;
|
||||
field_31C = false;
|
||||
field_31D = false;
|
||||
field_31E = false;
|
||||
reflect_texture_mask = false;
|
||||
reflect_tone_curve = false;
|
||||
field_31F = false;
|
||||
field_320 = false;
|
||||
light_stage_ambient = false;
|
||||
|
||||
for (bool& i : draw_pass_3d)
|
||||
i = true;
|
||||
@@ -595,7 +595,7 @@ namespace rndr {
|
||||
gl_state_enable_depth_test();
|
||||
gl_state_set_depth_func(GL_LEQUAL);
|
||||
gl_state_set_depth_mask(GL_TRUE);
|
||||
rctx->disp_manager->draw(mdl::OBJ_TYPE_REFLECT_OPAQUE, 0, field_31D);
|
||||
rctx->disp_manager->draw(mdl::OBJ_TYPE_REFLECT_OPAQUE, 0, reflect_texture_mask);
|
||||
if (reflect_type == STAGE_DATA_REFLECT_REFLECT_MAP) {
|
||||
gl_state_enable_blend();
|
||||
gl_state_set_blend_func(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
||||
@@ -605,7 +605,7 @@ namespace rndr {
|
||||
}
|
||||
|
||||
if (reflect_type == STAGE_DATA_REFLECT_REFLECT_MAP) {
|
||||
uniform_value[U_REFLECT] = field_31E;
|
||||
uniform_value[U_REFLECT] = reflect_tone_curve ? 1 : 0;
|
||||
uniform_value[U_CLIP_PLANE] = clip_plane.data[0];
|
||||
rctx->disp_manager->draw(mdl::OBJ_TYPE_REFLECT_CHARA_OPAQUE);
|
||||
}
|
||||
@@ -811,15 +811,21 @@ namespace rndr {
|
||||
gl_state_bind_sampler(15, rctx->render_samplers[0]);
|
||||
gl_state_bind_sampler(16, rctx->render_samplers[0]);
|
||||
|
||||
uniform_value[U12] = field_320 ? 1 : 0;
|
||||
uniform_value[U_STAGE_AMBIENT] = light_stage_ambient ? 1 : 0;
|
||||
|
||||
if (alpha_z_sort) {
|
||||
rctx->disp_manager->obj_sort(&rctx->view_mat, mdl::OBJ_TYPE_TRANSLUCENT, 1);
|
||||
rctx->disp_manager->obj_sort(&rctx->view_mat, mdl::OBJ_TYPE_TRANSLUCENT_SORT_BY_RADIUS, 2);
|
||||
rctx->disp_manager->obj_sort(&rctx->view_mat, mdl::OBJ_TYPE_TRANSLUCENT_ALPHA_ORDER_1, 1);
|
||||
rctx->disp_manager->obj_sort(&rctx->view_mat, mdl::OBJ_TYPE_TRANSLUCENT_ALPHA_ORDER_2, 1);
|
||||
rctx->disp_manager->obj_sort(&rctx->view_mat, mdl::OBJ_TYPE_TRANSLUCENT_ALPHA_ORDER_3, 1);
|
||||
rctx->disp_manager->obj_sort(&rctx->view_mat, mdl::OBJ_TYPE_TRANSLUCENT_ALPHA_ORDER_2_LOCAL, 1);
|
||||
rctx->disp_manager->obj_sort(&rctx->view_mat,
|
||||
mdl::OBJ_TYPE_TRANSLUCENT, 1, field_31F);
|
||||
rctx->disp_manager->obj_sort(&rctx->view_mat,
|
||||
mdl::OBJ_TYPE_TRANSLUCENT_SORT_BY_RADIUS, 2);
|
||||
rctx->disp_manager->obj_sort(&rctx->view_mat,
|
||||
mdl::OBJ_TYPE_TRANSLUCENT_ALPHA_ORDER_1, 1, field_31F);
|
||||
rctx->disp_manager->obj_sort(&rctx->view_mat,
|
||||
mdl::OBJ_TYPE_TRANSLUCENT_ALPHA_ORDER_2, 1, field_31F);
|
||||
rctx->disp_manager->obj_sort(&rctx->view_mat,
|
||||
mdl::OBJ_TYPE_TRANSLUCENT_ALPHA_ORDER_3, 1, field_31F);
|
||||
rctx->disp_manager->obj_sort(&rctx->view_mat,
|
||||
mdl::OBJ_TYPE_TRANSLUCENT_ALPHA_ORDER_2_LOCAL, 1, field_31F);
|
||||
}
|
||||
|
||||
if (opaque_z_sort)
|
||||
@@ -969,14 +975,6 @@ namespace rndr {
|
||||
|
||||
rctx->obj_scene_ubo.WriteMemory(rctx->obj_scene);
|
||||
|
||||
if (alpha_z_sort) {
|
||||
rctx->disp_manager->obj_sort(&rctx->view_mat, mdl::OBJ_TYPE_TRANSLUCENT, 1);
|
||||
rctx->disp_manager->obj_sort(&rctx->view_mat, mdl::OBJ_TYPE_TRANSLUCENT_SORT_BY_RADIUS, 2);
|
||||
}
|
||||
|
||||
if (opaque_z_sort)
|
||||
rctx->disp_manager->obj_sort(&rctx->view_mat, mdl::OBJ_TYPE_OPAQUE, 0);
|
||||
|
||||
//shaders_ft.env_vert_set(20, show_vector_length, show_vector_z_offset, 0.0f, 0.0f);
|
||||
for (int32_t i = 1; i < 4; i++) {
|
||||
if (!(show_vector_flags & (1 << (i - 1))))
|
||||
|
||||
Reference in New Issue
Block a user