add game&rawdata
This commit is contained in:
parent
0133cd976c
commit
49b34b5546
45731 changed files with 709831 additions and 0 deletions
51
gamedata/shaders/r1/detail_wave.vs
Normal file
51
gamedata/shaders/r1/detail_wave.vs
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
#include "common.h"
|
||||
|
||||
struct vf
|
||||
{
|
||||
float4 hpos : POSITION;
|
||||
float4 C : COLOR0;
|
||||
float2 tc : TEXCOORD0;
|
||||
};
|
||||
|
||||
uniform float4 consts; // {1/quant,1/quant,diffusescale,ambient}
|
||||
uniform float4 wave; // cx,cy,cz,tm
|
||||
uniform float4 dir2D;
|
||||
uniform float4 array [200] : register(c10);
|
||||
|
||||
vf main (v_detail v)
|
||||
{
|
||||
vf o;
|
||||
|
||||
// index
|
||||
int i = v.misc.w;
|
||||
float4 m0 = array[i+0];
|
||||
float4 m1 = array[i+1];
|
||||
float4 m2 = array[i+2];
|
||||
float4 c0 = array[i+3];
|
||||
|
||||
// Transform to world coords
|
||||
float4 pos;
|
||||
pos.x = dot (m0, v.pos);
|
||||
pos.y = dot (m1, v.pos);
|
||||
pos.z = dot (m2, v.pos);
|
||||
pos.w = 1;
|
||||
|
||||
//
|
||||
float base = m1.w;
|
||||
float dp = calc_cyclic (dot(pos,wave));
|
||||
float H = pos.y - base; // height of vertex (scaled)
|
||||
float frac = v.misc.z*consts.x; // fractional
|
||||
float inten = H * dp;
|
||||
float2 result = calc_xz_wave (dir2D.xz*inten,frac);
|
||||
pos = float4(pos.x+result.x, pos.y, pos.z+result.y, 1);
|
||||
o.hpos = mul (m_WVP,pos);
|
||||
|
||||
// Fake lighting
|
||||
float dpc = max (0.f, dp);
|
||||
o.C = c0 * (consts.w+consts.z*dpc*frac);
|
||||
|
||||
// final xform, color, tc
|
||||
o.tc.xy = (v.misc * consts).xy;
|
||||
|
||||
return o;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue