Skip to content

Commit

Permalink
Кое-что забыл.
Browse files Browse the repository at this point in the history
  • Loading branch information
Hrusteckiy committed Oct 25, 2022
1 parent 1121271 commit 600f5e1
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 42 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ _build/
/src/*.tss
*/.vs/

appdata_/
patches/
resources/
import/
Expand All @@ -52,6 +53,7 @@ gamedata/sounds/heart
gamedata/sounds/interface
gamedata/sounds/intro
gamedata/sounds/monsters
gamedata/sounds/material
gamedata/sounds/mp_actor
gamedata/sounds/music
gamedata/sounds/nature
Expand Down
14 changes: 7 additions & 7 deletions gamedata/shaders/r1/skin.h
Original file line number Diff line number Diff line change
Expand Up @@ -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

//////////////////////////////////////////////////////////////////////////////////////////
//uniform float4 sbones_array [256-22] : register(vs,c22);
Expand Down Expand Up @@ -85,7 +85,7 @@ v_model skinning_0 (v_model_skinned_0 v)
o.norm = 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;
#ifdef SKIN_COLOR
o.rgb_tint = float3 (0,0,2);
#endif
Expand All @@ -105,7 +105,7 @@ v_model skinning_1 (v_model_skinned_1 v)
o.norm = skinning_dir(v.N, m0,m1,m2 );
o.T = skinning_dir(v.T, m0,m1,m2 );
o.B = skinning_dir(v.B, m0,m1,m2 );
o.tc = v.tc *(16.f / 32768.f); // -16..+16
o.tc = v.tc;
#ifdef SKIN_COLOR
o.rgb_tint = float3 (0,2,0);
#endif
Expand Down Expand Up @@ -135,7 +135,7 @@ v_model skinning_2 (v_model_skinned_2 v)
o.norm = skinning_dir(v.N, m0,m1,m2 );
o.T = skinning_dir(v.T, m0,m1,m2 );
o.B = skinning_dir(v.B, m0,m1,m2 );
o.tc = v.tc *(16.f / 32768.f); // -16..+16
o.tc = v.tc;
#ifdef SKIN_COLOR
o.rgb_tint = float3 (2,0,0) ;
if (id_0==id_1) o.rgb_tint = float3(1,2,0);
Expand All @@ -157,7 +157,7 @@ v_model skinning_2lq (v_model_skinned_2 v)
o.norm = skinning_dir (v.N, m0,m1,m2 );
o.T = skinning_dir (v.T, m0,m1,m2 );
o.B = skinning_dir (v.B, m0,m1,m2 );
o.tc = v.tc *(16.f / 32768.f); // -16..+16
o.tc = v.tc;
#ifdef SKIN_COLOR
o.rgb_tint = float3 (0,2,0) ;
#endif
Expand Down Expand Up @@ -202,7 +202,7 @@ v_model skinning_3 (v_model_skinned_3 v)
o.norm = skinning_dir(v.N, m0,m1,m2 );
o.T = skinning_dir(v.T, m0,m1,m2 );
o.B = skinning_dir(v.B, m0,m1,m2 );
o.tc = v.tc *(16.f / 32768.f); // -16..+16
o.tc = v.tc;
#ifdef SKIN_COLOR
o.rgb_tint = float3 (2,0,0) ;
if (id_0==id_1) o.rgb_tint = float3(1,2,0);
Expand Down Expand Up @@ -251,7 +251,7 @@ v_model skinning_4 (v_model_skinned_4 v)
o.norm = skinning_dir(v.N, m0,m1,m2 );
o.T = skinning_dir(v.T, m0,m1,m2 );
o.B = skinning_dir(v.B, m0,m1,m2 );
o.tc = v.tc *(16.f / 32768.f); // -16..+16
o.tc = v.tc;
#ifdef SKIN_COLOR
o.rgb_tint = float3 (2,0,0) ;
if (id_0==id_1) o.rgb_tint = float3(1,2,0);
Expand Down
22 changes: 11 additions & 11 deletions gamedata/shaders/r2/skin.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@

struct v_model_skinned_0
{
float4 P : POSITION; // (float,float,float,1) - quantized // short4
float3 N : NORMAL; // normal // DWORD
float3 T : TANGENT; // tangent // DWORD
float3 B : BINORMAL; // binormal // DWORD
float4 P : POSITION; // (float,float,float,1) - quantized // short4
float3 N : NORMAL; // normal // DWORD
float3 T : TANGENT; // tangent // DWORD
float3 B : BINORMAL; // binormal // DWORD
float2 tc : TEXCOORD0; // (u,v) // short2
};
struct v_model_skinned_1 // 24 bytes
Expand Down Expand Up @@ -67,7 +67,7 @@ float3 skinning_dir (float3 dir, float3 m0, float3 m1, float3 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 = float4(pos.xyz, 1.f); //--#SM+#--
return float4
(
dot (m0, P),
Expand All @@ -81,11 +81,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 = float4(v.P.xyz, 1.f); //--#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; //--#SM+#--
return o;
}
v_model skinning_1 (v_model_skinned_1 v)
Expand All @@ -102,7 +102,7 @@ v_model skinning_1 (v_model_skinned_1 v)
o.N = skinning_dir(v.N, m0,m1,m2 );
o.T = skinning_dir(v.T, m0,m1,m2 );
o.B = skinning_dir(v.B, m0,m1,m2 );
o.tc = v.tc *(16.f / 32768.f); // -16..+16
o.tc = v.tc; //--#SM+#--
return o;
}
v_model skinning_2 (v_model_skinned_2 v)
Expand All @@ -129,7 +129,7 @@ v_model skinning_2 (v_model_skinned_2 v)
o.N = skinning_dir(v.N, m0,m1,m2 );
o.T = skinning_dir(v.T, m0,m1,m2 );
o.B = skinning_dir(v.B, m0,m1,m2 );
o.tc = v.tc *(16.f / 32768.f); // -16..+16
o.tc = v.tc; //--#SM+#--
return o;
}
v_model skinning_3 (v_model_skinned_3 v)
Expand Down Expand Up @@ -170,7 +170,7 @@ v_model skinning_3 (v_model_skinned_3 v)
o.N = skinning_dir(v.N, m0,m1,m2 );
o.T = skinning_dir(v.T, m0,m1,m2 );
o.B = skinning_dir(v.B, m0,m1,m2 );
o.tc = v.tc *(16.f / 32768.f); // -16..+16
o.tc = v.tc; //--#SM+#--
#ifdef SKIN_COLOR
o.rgb_tint = float3 (2,0,0) ;
if (id_0==id_1) o.rgb_tint = float3(1,2,0);
Expand Down Expand Up @@ -213,7 +213,7 @@ v_model skinning_4 (v_model_skinned_4 v)
o.N = skinning_dir(v.N, m0,m1,m2 );
o.T = skinning_dir(v.T, m0,m1,m2 );
o.B = skinning_dir(v.B, m0,m1,m2 );
o.tc = v.tc *(16.f / 32768.f); // -16..+16
o.tc = v.tc; //--#SM+#--

return o;
}
Expand Down
Binary file added gamedata/shaders/r3/model_scope_lense.ps
Binary file not shown.
48 changes: 24 additions & 24 deletions gamedata/shaders/r3/skin.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,54 +2,54 @@
#define SKIN_H

#include "common.h"

//RoH & SM+
struct v_model_skinned_0
{
int4 P : POSITION; // (float,float,float,1) - quantized // short4
float3 N : NORMAL; // normal // DWORD
float3 T : TANGENT; // tangent // DWORD
float3 B : BINORMAL; // binormal // DWORD
int2 tc : TEXCOORD0;// (u,v) // short2
float4 P : POSITION; // (float,float,float,1) - quantized // short4
float3 N : NORMAL; // normal // DWORD
float3 T : TANGENT; // tangent // DWORD
float3 B : BINORMAL; // binormal // DWORD
float2 tc : TEXCOORD0; // (u,v) // short2
};
struct v_model_skinned_1 // 24 bytes
{
int4 P : POSITION; // (float,float,float,1) - quantized // short4
float4 P : POSITION; // (float,float,float,1) - quantized // short4
float4 N : NORMAL; // (nx,ny,nz,index) // DWORD
float3 T : TANGENT; // tangent // DWORD
float3 B : BINORMAL; // binormal // DWORD
int2 tc : TEXCOORD0;// (u,v) // short2
float2 tc : TEXCOORD0; // (u,v) // short2
};
struct v_model_skinned_2 // 28 bytes
{
int4 P : POSITION; // (float,float,float,1) - quantized // short4
float4 N : NORMAL; // (nx,ny,nz,weight) // DWORD
float4 P : POSITION; // (float,float,float,1) - quantized // short4
float4 N : NORMAL; // (nx,ny,nz,weight) // DWORD
float3 T : TANGENT; // tangent // DWORD
float3 B : BINORMAL; // binormal // DWORD
int4 tc : TEXCOORD0; // (u,v, w=m-index0, z=m-index1) // short4
float4 tc : TEXCOORD0; // (u,v, w=m-index0, z=m-index1) // short4
};

struct v_model_skinned_3 // 28 bytes
{
int4 P : POSITION; // (float,float,float,1) - quantized // short4
float4 P : POSITION; // (float,float,float,1) - quantized // short4
float4 N : NORMAL; // (nx,ny,nz,weight0) // DWORD
float4 T : TANGENT; // (tx,ty,tz,weight1) // DWORD
float4 B : BINORMAL; // (bx,by,bz,m-index2) // DWORD
int4 tc : TEXCOORD0; // (u,v, w=m-index0, z=m-index1) // short4
float4 tc : TEXCOORD0; // (u,v, w=m-index0, z=m-index1) // short4
};

struct v_model_skinned_4 // 28 bytes
{
int4 P : POSITION; // (float,float,float,1) - quantized // short4
float4 P : POSITION; // (float,float,float,1) - quantized // short4
float4 N : NORMAL; // (nx,ny,nz,weight0) // DWORD
float4 T : TANGENT; // (tx,ty,tz,weight1) // DWORD
float4 B : BINORMAL; // (bx,by,bz,weight2) // DWORD
int2 tc : TEXCOORD0;// (u,v) // short2
float4 ind : TEXCOORD1;// (x=m-index0, y=m-index1, z=m-index2, w=m-index3) // DWORD
float2 tc : TEXCOORD0; // (u,v) // short2
float4 ind: TEXCOORD1; // (x=m-index0, y=m-index1, z=m-index2, w=m-index3) // DWORD
};

//////////////////////////////////////////////////////////////////////////////////////////

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

//////////////////////////////////////////////////////////////////////////////////////////
//uniform float4 sbones_array [256-22] : register(vs,c22);
Expand All @@ -70,7 +70,7 @@ float3 skinning_dir (float3 dir, float3 m0, float3 m1, float3 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);
return float4
(
dot (m0, P),
Expand All @@ -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);
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;
return o;
}
v_model skinning_1 (v_model_skinned_1 v)
Expand All @@ -115,7 +115,7 @@ v_model skinning_1 (v_model_skinned_1 v)
o.N = skinning_dir(v.N, m0,m1,m2 );
o.T = skinning_dir(v.T, m0,m1,m2 );
o.B = skinning_dir(v.B, m0,m1,m2 );
o.tc = v.tc *(16.f / 32768.f); // -16..+16
o.tc = v.tc;
return o;
}
v_model skinning_2 (v_model_skinned_2 v)
Expand Down Expand Up @@ -147,7 +147,7 @@ v_model skinning_2 (v_model_skinned_2 v)
o.N = skinning_dir(v.N, m0,m1,m2 );
o.T = skinning_dir(v.T, m0,m1,m2 );
o.B = skinning_dir(v.B, m0,m1,m2 );
o.tc = v.tc *(16.f / 32768.f); // -16..+16
o.tc = v.tc;
return o;
}
v_model skinning_3 (v_model_skinned_3 v)
Expand Down Expand Up @@ -193,7 +193,7 @@ v_model skinning_3 (v_model_skinned_3 v)
o.N = skinning_dir(v.N, m0,m1,m2 );
o.T = skinning_dir(v.T, m0,m1,m2 );
o.B = skinning_dir(v.B, m0,m1,m2 );
o.tc = v.tc *(16.f / 32768.f); // -16..+16
o.tc = v.tc;
#ifdef SKIN_COLOR
o.rgb_tint = float3 (2,0,0) ;
if (id_0==id_1) o.rgb_tint = float3(1,2,0);
Expand Down Expand Up @@ -245,7 +245,7 @@ v_model skinning_4 (v_model_skinned_4 v)
o.N = skinning_dir(v.N, m0,m1,m2 );
o.T = skinning_dir(v.T, m0,m1,m2 );
o.B = skinning_dir(v.B, m0,m1,m2 );
o.tc = v.tc *(16.f / 32768.f); // -16..+16
o.tc = v.tc;

return o;
}
Expand Down

0 comments on commit 600f5e1

Please sign in to comment.