Shader: changed some shader flags

This commit is contained in:
korenkonder
2024-06-24 11:00:06 +03:00
parent 4306cce645
commit cd87c03324
3 changed files with 24 additions and 24 deletions
+10 -10
View File
@@ -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);
}
+11 -11
View File
@@ -2068,7 +2068,7 @@ static const std::pair<uniform_name, bool> 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<uniform_name, bool> 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<uniform_name, bool> SKIN_uniform[] = {
static const std::pair<uniform_name, bool> 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<uniform_name, bool> SSS_FILT_uniform[] = {
@@ -2130,7 +2130,7 @@ static const std::pair<uniform_name, bool> 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<uniform_name, bool> 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<uniform_name, bool> 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<uniform_name, bool> SKY_uniform[] = {
static const std::pair<uniform_name, bool> 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);
+3 -3
View File
@@ -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,