From 9897303cf9a9d36bbc351669f238d273d1c8dbb9 Mon Sep 17 00:00:00 2001 From: korenkonder Date: Mon, 24 Jun 2024 11:00:12 +0300 Subject: [PATCH] `Shader`: changed some shader flags --- res/ft_shaders.farc | Bin 130096 -> 130112 bytes src/DivaGL/mdl/draw_object.cpp | 20 ++++++++++---------- src/DivaGL/shader_ft.cpp | 22 +++++++++++----------- src/DivaGL/uniform.hpp | 6 +++--- 4 files changed, 24 insertions(+), 24 deletions(-) diff --git a/res/ft_shaders.farc b/res/ft_shaders.farc index 7264361856dc42ad521725b08ca91c1a8c4f2c11..c7459f1d23a49f6bf1834e4456caa8556479cd81 100644 GIT binary patch delta 2411 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 U*Y(uIf&hRpcp5dQ8CYuYZyiEz#{d8T delta 2404 zcmYk0c|6pK8^^z6%8?N>jANMJm>i2H$6}nxl^iR|PTFN$n;El?aWiB_j!BJNBc!2` zX<0>b<}MN{GUQn0&b7!D%7owS@Ad2V`aQ4bdH#8Sp7-l{_C=_Y-&BbU8UP>$4hswO z4D%-iX-4{nh64cTNd^FbHvs?=9~SOS^!4-!AO!_!5<OR>b87q?B%DO_3lIDLM4uwF4Jsr5&nuPy06z>T2l;vidIx{!@28j>P&vLt z6!tF=z|?>t1s2ztb}%F;gGq!T5&e9v314d$swW}VNpQ>g3?n{e_>F-Ay<1!kal|k- zrm$z)+GYuFtw%_(+}>Y0|16Xj5BMuxW)bWvRlcqLb!Lh;wR89Q)+Fj);lJ)tbu-f} z3+X#SKXGCcnt40lwl$+Ed2M;!T%FK^^;HM$!G0~|M3UF_+%8d1S!}#)r#d@a7FtVs4fIRNy;CeREc}^8tV&HP7-;TzQW-hWu*5J zNEJ%g)uW!}S~DDN${Y8EY@mCCW1_Ra4D_h3i(n!0vvA7PqC$p)HJ#V@jVr zZShb^eTBTL??rw$0I$(;`tW4_aat420wiwuM@oLSFiTDtAAbc;7RXg|oc2y@(wpVx za0}iz&|tS>JK&KytFjJd+p7la4)0ncBGMm<#MZtt1P3F#BAsmuvjn0#dr2>a#Ww}c zfgCSudd^?8?TUQN6T_};r);vytmi5t+^*oTMaewXY#V7ulw5;NG>my$;TTb%MGmB%INA7MgqeScl?^m zYWM-+h;`lpqU82)OWujy;?@zfp#+;HDsGFd=wo*lDkTS{q}C}g;(pfpDy!dDO)W?} zUgP+Os!6NJpO~}H{tCt2wxS_c0~*XVq~|FVVVX!<9N6{C@^;9H@l#S>@pQM9y(*#J zsm+TQB8Ih4RsMb9nUqp6YXbP&=pi6W?I6%N@L3`f)%Z8*UZ?OC=t*M zJ@dSJDLE%h&7^MDo<)hCj6DR)bFepPCN#xi7zXxtQ#nIvK9oiK<&JvoVT%SPBy)xT;^2qwx9&k+N3^B?$_B{xLB zor>#?bVA1{pH;_PGl%7{dtGF=inV*6Um?0`H_@@qK>3R~;DXreP!2Jtd6-(T~rVHaERYufN-+8oC2( zXxLvDBv0TcuYMb_7A)X4Wo)&YTHI6JEUUl&*ZmvrepgB=WU-@ujFJ5q4aFT^#Jdzy z8x^6mJmRR7KyA_UnRv{!ao=7phKd%8_MWIq7m0yytmY7Bv*9ba*Qtz@E1akcD8ZH> z+RQv>v>LV+ZQ&3y_91&(==8NwHjf?@m8wcS;zq}cM=f)S*OQ5@TKJd6&N1Z~Yv@Wg z_yz$^v^x)7pfs<-L~&U3V)XTqiWdvdrD3L|?EJcMH!dJ~QW@cwkoD z^YNG5%J4>mWP--M{(zAB3h7e#YQnzfa{^H9Ya(?1w;D0he2n6)9^{Fc*#Vt=HJ`w$ zj8ZWpwZWr~h#x*!?45hCRcFfm!eP@lZ2k6rwyaWDcO03OjqJrmlb2-0@1VVC9ph;Q zVq>*FVi6fd^V>h^xj4Q?E;MJ~Y`C3+#AuO@`}xXgS-kl%*yZX+BZhdkLZG{f9DDjy zk-FxV_DNWfz!gS#39cn=NT|_j_w_IS@LZ?f zaPhWns1f2G=i@m8pXtbjn*n8?P{*!LCD6({Oigk+8eC_M!MSsCL$B<0BzHk+h3%#< zbb6EJ#^ACQ{pO~p$jpt<2V0L8FmLEC)E{bEY8@0qa0})x!<}Bd6k8PEd{7ln7|8Ku z>*1==`3A!ee$p>WZ&BKW9I1|YwDhnfcPwaYaYbIjf=Dpse11MaiKK!q3E)fPA#*N0fWd{`v3p{ diff --git a/src/DivaGL/mdl/draw_object.cpp b/src/DivaGL/mdl/draw_object.cpp index 6cfc281..105d631 100644 --- a/src/DivaGL/mdl/draw_object.cpp +++ b/src/DivaGL/mdl/draw_object.cpp @@ -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); } diff --git a/src/DivaGL/shader_ft.cpp b/src/DivaGL/shader_ft.cpp index 68896af..ed9d865 100644 --- a/src/DivaGL/shader_ft.cpp +++ b/src/DivaGL/shader_ft.cpp @@ -1966,7 +1966,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 }, @@ -1993,7 +1993,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 }, @@ -2005,12 +2005,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[] = { @@ -2028,7 +2028,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 }, @@ -2045,7 +2045,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 }, @@ -2060,7 +2060,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 }, @@ -2093,9 +2093,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 }, @@ -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); diff --git a/src/DivaGL/uniform.hpp b/src/DivaGL/uniform.hpp index 034aafe..5b1ccae 100644 --- a/src/DivaGL/uniform.hpp +++ b/src/DivaGL/uniform.hpp @@ -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,