31 lines
673 B
GLSL
31 lines
673 B
GLSL
#include "common.h"
|
|
|
|
p_flat main ( v_static I )
|
|
{
|
|
// Eye-space pos/normal
|
|
p_flat O;
|
|
float4 Pp = mul (m_WVP, I.P );
|
|
O.hpos = Pp;
|
|
O.N = mul ((float3x3)m_WV, unpack_bx2(I.Nh));
|
|
float3 Pe = mul (m_WV, I.P );
|
|
|
|
float2 tc = unpack_tc_base (I.tc,I.T.w,I.B.w); // copy tc
|
|
O.tcdh = float4 (tc.xyyy );
|
|
O.position = float4 (Pe, I.Nh.w );
|
|
|
|
#if defined(USE_R2_STATIC_SUN) && !defined(USE_LM_HEMI)
|
|
float s = I.color.w ; // (r,g,b,dir-occlusion)
|
|
O.tcdh.w = s;
|
|
#endif
|
|
|
|
#ifdef USE_TDETAIL
|
|
O.tcdbump = O.tcdh * dt_params; // dt tc
|
|
#endif
|
|
|
|
#ifdef USE_LM_HEMI
|
|
O.lmh = unpack_tc_lmap (I.lmh);
|
|
#endif
|
|
|
|
return O;
|
|
}
|
|
FXVS;
|