e4s-sdk/gamedata/shaders/editor/deffer_model.vs.hlsl
2026-06-17 23:06:51 +03:00

50 lines
1.1 KiB
HLSL

#include "common.hlsli"
#include "skin.hlsli"
void skinned_main(in v_model I, out p_bumped_new O)
{
float3 Nw = normalize(mul((float3x3)m_W, (float3)I.N));
float hemi_val = Nw.y * 0.3f + 0.5f;
float3 Pe = mul(m_WV, I.P);
O.tcdh = float4(I.tc.xy, hemi_val, 0.5f);
O.position = float4(Pe, 1.0f);
O.M1 = mul(m_WV, I.N.xyz * 2.0f);
O.M2 = mul(m_WV, I.T.xyz * 2.0f);
O.M3 = mul(m_WV, I.B.xyz * 2.0f);
O.hpos = mul(m_WVP, I.P);
}
#if defined(SKIN_0)
void main(in v_model_skinned_0 I, out p_bumped_new O)
{
skinned_main(skinning_0(I), O);
}
#elif defined(SKIN_1)
void main(in v_model_skinned_1 I, out p_bumped_new O)
{
skinned_main(skinning_1(I), O);
}
#elif defined(SKIN_2)
void main(in v_model_skinned_2 I, out p_bumped_new O)
{
skinned_main(skinning_2(I), O);
}
#elif defined(SKIN_3)
void main(in v_model_skinned_3 I, out p_bumped_new O)
{
skinned_main(skinning_3(I), O);
}
#elif defined(SKIN_4)
void main(in v_model_skinned_4 I, out p_bumped_new O)
{
skinned_main(skinning_4(I), O);
}
#else
void main(in v_model I, out p_bumped_new O)
{
skinned_main(I, O);
}
#endif