У меня опять косяк с шейдером. Я думал что сюда:
texture iTEX;
sampler TEX_DIFFUSE=sampler_state{};
будет ложиться конкретная текстура в разных случаях. А у меня какая последняя текстура сюда положится, та и накладывается на все модели. Помогите разобраться.
float4x4 matWVP;
const float LODDISTHI;
const float LODDISTLO;
texture iTEX;
sampler TEX_DIFFUSE=sampler_state{};
//===================LOD HIGHT================================
void vs_lodhi(
in float4 iPos : POSITION0,
in float3 iTXC : TEXCOORD0,
out float4 oPos : POSITION0,
out float3 oTXC : TEXCOORD0,
out float3 oDIST : TEXCOORD1)
{
oPos = mul( iPos, matWVP );
oTXC = iTXC;
oDIST = oPos.z;
}
float4 ps_lodhi(float3 TXC:TEXCOORD0, float3 DIST: TEXCOORD1) : COLOR0
{
float4 oTEX = tex2D(TEX_DIFFUSE,TXC);
clip(DIST<LODDISTHI ? -1:1);
return oTEX;
}
technique LODHI {pass P0{VertexShader = compile vs_2_0 vs_lodhi(); PixelShader = compile ps_2_0 ps_lodhi();}}