да, похоже то что надо. Но почему то ничего она не меняет.
Как проверить передается ли цвет в нужную переменную?
float4x4 matWorldViewProjection;
float4x4 matViewProjection;
float4x4 MovMat;
sampler Texture0;
struct VS_INPUT
{
float4 Position : POSITION0;
float2 Tex0 : TEXCOORD0;
float4 TColor : COLOR0;
float3 Normal : NORMAL0;
};
struct VS_OUTPUT
{
float4 Position : POSITION0;
float2 Tex0 : TEXCOORD0;
float4 Diffuse : COLOR0;
};
VS_OUTPUT vs_main(VS_INPUT Input)
{
VS_OUTPUT Out;
float4 color=tex2Dlod(Texture0,float4(Input.Tex0.xy,0,0));
if (color.r>0.3)
{
Input.Position.z=Input.Position.z+0.5;//mul(Input.Position,MovMat);
}else{
Out.Position = mul(Input.Position, matViewProjection);
};
Out.Tex0.xy = Input.Tex0.xy;
//Input.TColor.b=0.2;
Out.Diffuse=Input.TColor;
return Out;
};