e4s-game/gamedata/shaders/r2/deffer_particle.vs.hlsl
2026-06-18 01:18:29 +03:00

37 lines
638 B
HLSL

#include "common.hlsli"
struct vv
{
float4 P : POSITION;
float2 tc : TEXCOORD0;
float4 c : COLOR0;
};
struct v2p_particle
{
float4 color : COLOR0;
p_flat base;
};
v2p_particle main(vv I)
{
float4 w_pos = I.P;
// Eye-space pos/normal
p_flat O;
O.hpos = mul(m_WVP, w_pos);
O.N = normalize(eye_position - w_pos);
float3 Pe = mul(m_WV, I.P);
O.tcdh = float4(I.tc.xyyy);
O.position = float4(Pe, .2h);
#ifdef USE_TDETAIL
O.tcdbump = O.tcdh * dt_params; // dt tc
#endif
v2p_particle pp;
pp.color = I.c;
pp.base = O;
return pp;
}