mirror of
https://github.com/korenkonder/ReDIVA.git
synced 2026-10-13 01:28:10 +03:00
Overhaul of Shadow system
Also fixed incorrect shadow with 3+ charas (Why it was like this?)
This commit is contained in:
@@ -662,14 +662,14 @@ static void draw_object_material_set_default(render_data_context& rend_data_ctx,
|
||||
draw_object_material_set_uniform(rend_data_ctx, material, false);
|
||||
if (!rctx_ptr->draw_state->rend_data[rend_data_ctx.index].shadow)
|
||||
rend_data_ctx.shader_flags.arr[U_STAGE_SHADOW] = 0;
|
||||
else if (!args->self_shadow)
|
||||
else if (args->receive_shadow == mdl::RECEIVE_SHADOW_DEFAULT)
|
||||
rend_data_ctx.shader_flags.arr[U_STAGE_SHADOW] = args->sub_mesh->attrib.m.receive_shadow ? 1 : 0;
|
||||
else if (args->self_shadow != 1)
|
||||
rend_data_ctx.shader_flags.arr[U_STAGE_SHADOW] = 0;
|
||||
else
|
||||
else if (args->receive_shadow == mdl::RECEIVE_SHADOW_ENABLE)
|
||||
rend_data_ctx.shader_flags.arr[U_STAGE_SHADOW] = 1;
|
||||
else // mdl::RECEIVE_SHADOW_DISABLE
|
||||
rend_data_ctx.shader_flags.arr[U_STAGE_SHADOW] = 0;
|
||||
|
||||
rend_data_ctx.shader_flags.arr[U_CHARA_SHADOW2] = args->shadow > SHADOW_GROUP_CHARA ? 1 : 0;
|
||||
rend_data_ctx.shader_flags.arr[U_CHARA_SHADOW2] = args->shadow_group > 0 ? 1 : 0;
|
||||
rend_data_ctx.shader_flags.arr[U_CHARA_SHADOW]
|
||||
= rctx_ptr->draw_state->rend_data[rend_data_ctx.index].self_shadow ? 1 : 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user