Shader: changed some shader flags

This commit is contained in:
korenkonder
2024-06-24 11:00:12 +03:00
parent 9387f43ab9
commit 9897303cf9
4 changed files with 24 additions and 24 deletions
Binary file not shown.
+10 -10
View File
@@ -314,37 +314,37 @@ namespace mdl {
|| args->sub_mesh->attrib.m.transparent)
|| attrib.punch_through) ? 1 : 0;
uniform->arr[U26] = 1;
bool aniso = false;
uniform->arr[U_NPR_NORMAL] = 1;
bool chara = false;
const obj_material_data* material = args->material;
switch (material->material.shader.index) {
case SHADER_FT_CLOTH:
if (!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 (!render_manager->npr_param)
aniso = true;
chara = true;
break;
//case SHADER_FT_EYEBALL:
case SHADER_FT_GLASEYE:
uniform->arr[U26] = 0;
aniso = true;
uniform->arr[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->arr[U37] = 1;
uniform->arr[U_SSS_CHARA] = 1;
}
else {
const vec4& sss_param = sss_data_get()->param;
rctx->obj_batch.g_sss_param = { sss_param.x, sss_param.y, sss_param.z, 0.5f };
uniform->arr[U37] = 0;
uniform->arr[U_SSS_CHARA] = 0;
}
draw_sub_mesh_default(args);
}
+11 -11
View File
@@ -1966,7 +1966,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 },
@@ -1993,7 +1993,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 },
@@ -2005,12 +2005,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[] = {
@@ -2028,7 +2028,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 },
@@ -2045,7 +2045,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 },
@@ -2060,7 +2060,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 },
@@ -2093,9 +2093,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 },
@@ -2743,7 +2743,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->arr[U18] = 0;
uniform->arr[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
@@ -32,7 +32,7 @@ enum uniform_name {
U_FOG = 0x15,
U16 = 0x16,
U_GAUSS = 0x17,
U18 = 0x18,
U_EYEBALL = 0x18,
U_IMAGE_FILTER = 0x19,
U_INSTANCE = 0x1A,
U_TONE_CURVE = 0x1B,
@@ -46,7 +46,7 @@ enum uniform_name {
U_MOVIE = 0x23,
U24 = 0x24,
U25 = 0x25,
U26 = 0x26,
U_NPR_NORMAL = 0x26,
U_NPR = 0x27,
U_LIGHT_1 = 0x28,
U_REFLECT = 0x29,
@@ -63,7 +63,7 @@ enum uniform_name {
U_TEX_0_TYPE = 0x34,
U_TEX_1_TYPE = 0x35,
U_SSS_FILTER = 0x36,
U37 = 0x37,
U_SSS_CHARA = 0x37,
U_STAR = 0x38,
U_TEXTURE_COUNT = 0x39,
U_ENV_MAP = 0x3A,