From cd87c03324beaefecc4e0796f3278425c7ee1c88 Mon Sep 17 00:00:00 2001 From: korenkonder Date: Mon, 24 Jun 2024 11:00:06 +0300 Subject: [PATCH] `Shader`: changed some shader flags --- src/CRE/mdl/draw_object.cpp | 20 ++++++++++---------- src/CRE/shader_ft.cpp | 22 +++++++++++----------- src/CRE/static_var.hpp | 6 +++--- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/CRE/mdl/draw_object.cpp b/src/CRE/mdl/draw_object.cpp index 9291f0ff..eb3e709e 100644 --- a/src/CRE/mdl/draw_object.cpp +++ b/src/CRE/mdl/draw_object.cpp @@ -312,37 +312,37 @@ namespace mdl { || args->sub_mesh->attrib.m.transparent) || attrib.punch_through) ? 1 : 0; - uniform_value[U26] = 1; - bool aniso = false; + uniform_value[U_NPR_NORMAL] = 1; + bool chara = false; const obj_material_data* material = args->material; switch (material->material.shader.index) { case SHADER_FT_CLOTH: if (!rctx->render_manager->npr_param && material->material.color.ambient.w < 1.0f && material->material.shader_info.m.aniso_direction == OBJ_MATERIAL_ANISO_DIRECTION_NORMAL) - aniso = true; + chara = true; break; case SHADER_FT_TIGHTS: if (!rctx->render_manager->npr_param) - aniso = true; + chara = true; break; //case SHADER_FT_EYEBALL: case SHADER_FT_GLASEYE: - uniform_value[U26] = 0; - aniso = true; + uniform_value[U_NPR_NORMAL] = 0; + chara = true; break; case SHADER_FT_SKIN: - aniso = true; + chara = true; break; } - if (aniso) { + if (chara) { rctx->obj_batch.g_sss_param = { 0.0f, 0.0f, 0.0f, 0.5f }; - uniform_value[U37] = 1; + uniform_value[U_SSS_CHARA] = 1; } else { const vec4& sss_param = rctx->sss_data->param; rctx->obj_batch.g_sss_param = { sss_param.x, sss_param.y, sss_param.z, 0.5f }; - uniform_value[U37] = 0; + uniform_value[U_SSS_CHARA] = 0; } draw_sub_mesh_default(rctx, args); } diff --git a/src/CRE/shader_ft.cpp b/src/CRE/shader_ft.cpp index feb1e006..8bbe244d 100644 --- a/src/CRE/shader_ft.cpp +++ b/src/CRE/shader_ft.cpp @@ -2068,7 +2068,7 @@ static const std::pair ITEM_uniform[] = { { U_NORMAL , false }, { U_TEXTURE_COUNT, false }, { U_ENV_MAP , false }, - { U_SELF_SHADOW , false }, + { U_SELF_SHADOW , true }, { U_FOG , false }, { U_ALPHA_TEST , true }, { U_SHADOW , false }, @@ -2095,7 +2095,7 @@ static const std::pair SKIN_uniform[] = { //{ U16 , true }, // 0th removed { U_SKINNING , true }, { U_NORMAL , false }, - { U_SELF_SHADOW , false }, + { U_SELF_SHADOW , true }, { U_FOG , false }, { U_ALPHA_TEST , true }, { U_SHADOW , false }, @@ -2107,12 +2107,12 @@ static const std::pair SKIN_uniform[] = { static const std::pair SSS_SKIN_uniform[] = { //{ U16 , true }, // 0th removed { U_SKINNING , true }, - { U37 , false }, + { U_SSS_CHARA , true }, { U_ALPHA_TEST , true }, - { U_SELF_SHADOW , false }, + { U_SELF_SHADOW , true }, { U_SHADOW , false }, { U_NPR , true }, - { U26 , false }, + { U_NPR_NORMAL , false }, }; static const std::pair SSS_FILT_uniform[] = { @@ -2130,7 +2130,7 @@ static const std::pair HAIR_uniform[] = { { U_TRANSPARENCY , false }, { U_TRANSLUCENCY , false }, { U_ANISO , false }, - { U_SELF_SHADOW , false }, + { U_SELF_SHADOW , true }, { U_FOG , false }, { U_SHADOW , false }, { U_NPR , false }, @@ -2147,7 +2147,7 @@ static const std::pair CLOTH_uniform[] = { { U_NORMAL , false }, { U_TRANSPARENCY , false }, { U_ENV_MAP , false }, - { U_SELF_SHADOW , false }, + { U_SELF_SHADOW , true }, { U_FOG , false }, { U_ALPHA_TEST , true }, { U_ANISO , false }, @@ -2162,7 +2162,7 @@ static const std::pair TIGHTS_uniform[] = { { U_SKINNING , true }, { U_SPECULAR , false }, { U_ENV_MAP , false }, - { U_SELF_SHADOW , false }, + { U_SELF_SHADOW , true }, { U_FOG , false }, { U_ALPHA_TEST , true }, { U_SHADOW , false }, @@ -2195,9 +2195,9 @@ static const std::pair SKY_uniform[] = { static const std::pair GLASEYE_uniform[] = { //{ U16 , true }, // 0th removed { U_SKINNING , true }, - { U_SELF_SHADOW , false }, + { U_SELF_SHADOW , true }, { U_FOG , false }, - { U18 , false }, + { U_EYEBALL , false }, { U_SHADOW , false }, { U_CHARA_COLOR , false }, { U_TONE_CURVE , false }, @@ -2872,7 +2872,7 @@ static void shader_bind_hair(shader_set_data* set, shader* shad) { } static void shader_bind_eye_ball(shader_set_data* set, shader* shad) { - uniform_value[U18] = 0; + uniform_value[U_EYEBALL] = 0; if (set->shaders[SHADER_FT_GLASEYE].bind(set, SHADER_FT_SUB_GLASS_EYE) >= 0) { glass_eye_calc(&glass_eye); glass_eye_set(&glass_eye); diff --git a/src/CRE/static_var.hpp b/src/CRE/static_var.hpp index 5dfbdb3f..aab96206 100644 --- a/src/CRE/static_var.hpp +++ b/src/CRE/static_var.hpp @@ -52,7 +52,7 @@ enum uniform_name { U_FOG, U16, U_GAUSS, - U18, + U_EYEBALL, U_IMAGE_FILTER, U_INSTANCE, U_TONE_CURVE, @@ -66,7 +66,7 @@ enum uniform_name { U_MOVIE, U24, U25, - U26, + U_NPR_NORMAL, U_NPR, U_LIGHT_1, U_REFLECT, @@ -83,7 +83,7 @@ enum uniform_name { U_TEX_0_TYPE, U_TEX_1_TYPE, U_SSS_FILTER, - U37, + U_SSS_CHARA, U_STAR, U_TEXTURE_COUNT, U_ENV_MAP,