add game&rawdata

This commit is contained in:
Vasily Petrov 2026-06-17 23:06:51 +03:00
parent 0133cd976c
commit 49b34b5546
45731 changed files with 709831 additions and 0 deletions

View file

@ -0,0 +1,50 @@
#include "common.h"
struct vv
{
float3 pos0 : POSITION0 ;
float3 pos1 : POSITION1 ;
float3 n0 : NORMAL0 ;
float3 n1 : NORMAL1 ;
float2 tc0 : TEXCOORD0 ;
float2 tc1 : TEXCOORD1 ;
float4 rgbh0 : TEXCOORD2; // rgb.h
float4 rgbh1 : TEXCOORD3; // rgb.h
float4 sun_af : COLOR0; // x=sun_0, y=sun_1, z=alpha, w=factor
};
struct vf
{
float3 Pe : TEXCOORD0 ;
float2 tc0 : TEXCOORD1 ; // base0
float2 tc1 : TEXCOORD2 ; // base1
float4 af : COLOR1 ; // alpha&factor
float4 hpos: SV_Position;
};
#define L_SCALE (2.0h*1.55h)
vf main ( vv I )
{
vf o;
I.sun_af.xyz = I.sun_af.zyx;
I.rgbh0.xyz = I.rgbh0.zyx;
I.rgbh1.xyz = I.rgbh1.zyx;
// lerp pos
float factor = I.sun_af.w ;
float4 pos = float4 (lerp(I.pos0,I.pos1,factor),1);
float h = lerp (I.rgbh0.w,I.rgbh1.w,factor) *L_SCALE;
o.hpos = mul (m_VP, pos); // xform, input in world coords
o.Pe = mul (m_V, pos);
// replicate TCs
o.tc0 = I.tc0;
o.tc1 = I.tc1;
// calc normal & lighting
o.af = float4 (h,h,I.sun_af.z,factor);
return o ;
}
FXVS;