Skip to content

Commit

Permalink
OpenGL Shaders: HQ Geometry fix by Shoker
Browse files Browse the repository at this point in the history
Xottab-DUTY committed Jan 29, 2018

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
1 parent b8cb425 commit ba6010c
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions res/gamedata/shaders/gl/skin.h
Original file line number Diff line number Diff line change
@@ -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
#endif

0 comments on commit ba6010c

Please sign in to comment.