#include "common.hlsli" #include "sload.hlsli" void main(p_bumped_new I, out f_deffer O) { XrayMaterial M; M.Sun = I.tcdh.w; M.Hemi = I.tcdh.z; M.Point = I.position.xyz; SloadNew(I, M); #ifdef USE_AREF clip(M.Color.w - def_aref); #endif M.Normal = mul(float3x3(I.M1, I.M2, I.M3), M.Normal); M.Normal = normalize(M.Normal); #ifdef USE_LM_HEMI float4 lm = tex2D(s_hemi, I.tcdh.zw); M.Sun = get_sun(lm); M.Hemi = get_hemi(lm); #endif #ifndef USE_R2_STATIC_SUN M.Sun = xmaterial; #endif O = pack_gbuffer(float4(M.Normal, M.Hemi), float4(M.Point, M.Sun), float4(M.Color.xyz, 1.0f - M.Roughness)); }