From ba6010c01b654df5231e398c1850d6264a756c62 Mon Sep 17 00:00:00 2001 From: Xottab-DUTY Date: Tue, 2 Jan 2018 20:03:24 +0500 Subject: [PATCH] OpenGL Shaders: HQ Geometry fix by Shoker --- res/gamedata/shaders/gl/skin.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/res/gamedata/shaders/gl/skin.h b/res/gamedata/shaders/gl/skin.h index bdc4fab96c4..73d8df04d76 100644 --- a/res/gamedata/shaders/gl/skin.h +++ b/res/gamedata/shaders/gl/skin.h @@ -2,7 +2,7 @@ #define SKIN_H #include "common.h" - +//RoH & SM+ struct v_model_skinned_0 { float4 P ; // POSITION; // (float,float,float,1) - quantized // short4 @@ -49,7 +49,7 @@ struct v_model_skinned_4 // 28 bytes ////////////////////////////////////////////////////////////////////////////////////////// -float4 u_position (float4 v) { return float4(v.xyz*(12.f / 32768.f), 1.f); } // -12..+12 +float4 u_position (float4 v) { return float4(v.xyz, 1.f); } // -12..+12 //--#SM+#-- ////////////////////////////////////////////////////////////////////////////////////////// //uniform float4 sbones_array [256-22] : register(vs,c22); @@ -70,7 +70,7 @@ float3 skinning_dir (float3 dir, float4 m0, float4 m1, float4 m2) } float4 skinning_pos (float4 pos, float4 m0, float4 m1, float4 m2) { - float4 P = float4(pos.xyz*(12.f / 32768.f), 1.f); // -12..+12 + float4 P = u_position(pos); // -12..+12 //--#SM+#-- return float4 ( dot (m0, P), @@ -89,11 +89,11 @@ v_model skinning_0 (v_model_skinned_0 v) // skinning v_model o; - o.P = float4(v.P.xyz*(12.f / 32768.f), 1.f); // -12..+12 + o.P = u_position(v.P); // -12..+12 //--#SM+#-- o.N = unpack_normal(v.N); o.T = unpack_normal(v.T); o.B = unpack_normal(v.B); - o.tc = v.tc *(16.f / 32768.f); // -16..+16 + o.tc = v.tc; // -16..+16 //--#SM+#-- return o; } v_model skinning_1 (v_model_skinned_1 v) @@ -115,7 +115,7 @@ v_model skinning_1 (v_model_skinned_1 v) o.N = skinning_dir(v.N.xyz, m0,m1,m2 ); o.T = skinning_dir(v.T.xyz, m0,m1,m2 ); o.B = skinning_dir(v.B.xyz, m0,m1,m2 ); - o.tc = v.tc *(16.f / 32768.f); // -16..+16 + o.tc = v.tc; // -16..+16 //--#SM+#-- return o; } v_model skinning_2 (v_model_skinned_2 v) @@ -147,7 +147,7 @@ v_model skinning_2 (v_model_skinned_2 v) o.N = skinning_dir(v.N.xyz, m0,m1,m2 ); o.T = skinning_dir(v.T.xyz, m0,m1,m2 ); o.B = skinning_dir(v.B.xyz, m0,m1,m2 ); - o.tc = v.tc.xy *(16.f / 32768.f); // -16..+16 + o.tc = v.tc.xy; // -16..+16 //--#SM+#-- return o; } v_model skinning_3 (v_model_skinned_3 v) @@ -193,7 +193,7 @@ v_model skinning_3 (v_model_skinned_3 v) o.N = skinning_dir(v.N.xyz, m0,m1,m2 ); o.T = skinning_dir(v.T.xyz, m0,m1,m2 ); o.B = skinning_dir(v.B.xyz, m0,m1,m2 ); - o.tc = v.tc.xy *(16.f / 32768.f); // -16..+16 + o.tc = v.tc.xy; // -16..+16 //--#SM+#-- #ifdef SKIN_COLOR o.rgb_tint = float3 (2,0,0) ; if (id_0==id_1) o.rgb_tint = float3(1,2,0); @@ -244,9 +244,9 @@ v_model skinning_4 (v_model_skinned_4 v) o.N = skinning_dir(v.N.xyz, m0,m1,m2 ); o.T = skinning_dir(v.T.xyz, m0,m1,m2 ); o.B = skinning_dir(v.B.xyz, m0,m1,m2 ); - o.tc = v.tc *(16.f / 32768.f); // -16..+16 + o.tc = v.tc; // -16..+16 //--#SM+#-- return o; } -#endif \ No newline at end of file +#endif