engine/engine/shaders/hlsl9/defaultskybox.hlsl

36 lines
595 B
HLSL

!!samps reflectcube
struct a2v
{
float4 pos: POSITION;
};
struct v2f
{
#ifndef FRAGMENT_SHADER
float4 pos: POSITION;
#endif
float3 texc: TEXCOORD0;
};
#ifdef VERTEX_SHADER
float4x4 m_modelviewprojection;
v2f main (a2v inp)
{
v2f outp;
outp.pos = mul(m_modelviewprojection, inp.pos);
outp.texc = inp.pos.xyz;
return outp;
}
#endif
#ifdef FRAGMENT_SHADER
float3 e_eyepos;
sampler s_reflectcube;
float4 main (v2f inp) : COLOR0
{
float3 tc = inp.texc - e_eyepos.xyz;
tc.y = -tc.y;
return texCUBE(s_reflectcube, tc);
}
#endif