mirror of
https://github.com/korenkonder/ReDIVA.git
synced 2026-10-03 20:28:10 +03:00
Shader: changed some shader flags
This commit is contained in:
+10
-10
@@ -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
@@ -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);
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user