テクスチャが表示されません
Posted: 2011年8月22日(月) 19:30
DirectX9で3Dゲーム開発をしようと思っています。
HLSLを使おうとしたのですがテクスチャが表示されなくて困っています。
テクスチャなしの時はちゃんと表示されます。
hlsl.fx
HLSLを使おうとしたのですがテクスチャが表示されなくて困っています。
テクスチャなしの時はちゃんと表示されます。
hlsl.fx
float4x4 mWVP; // ローカル→射影空間 変換行列
texture Tex;
sampler Samp = sampler_state // サンプラステート
{
Texture = <Tex>;
MinFilter = LINEAR;
MagFilter = LINEAR;
MipFilter = NONE;
AddressU = Clamp;
AddressV = Clamp;
};
struct VS_INPUT
{
float4 Pos : POSITION;
float4 Nor : NORMAL0;
float2 Tex : TEXCOORD0;
};
struct VS_OUTPUT
{
float4 Pos : POSITION;
float4 Col : COLOR0;
float2 Tex : TEXCOORD0;
};
struct PS_INPUT
{
float4 Col : COLOR0;
float2 Tex : TEXCOORD0;
};
struct PS_OUTPUT
{
float4 Col : COLOR0;
};
//-----------------------
// 頂点シェーダ
//------------------------------------------------------
VS_OUTPUT VS( VS_INPUT In )
{
VS_OUTPUT Out = (VS_OUTPUT)0;
Out.Pos = mul( In.Pos, mWVP );
Out.Col = In.Col;
Out.Tex = In.Tex;
return Out;
}
//-----------------------
// ピクセルシェーダ
//------------------------------------------------------
PS_OUTPUT PS ( PS_INPUT In ) : COLOR0
{
PS_OUTPUT Out = (PS_OUTPUT)0;
//Out.Col = In.Col;
Out.Col = tex2D( Samp, In.Tex );
return Out;
}
//-----------------------
// テクニック
//------------------------------------------------------
technique TShader
{
pass P0
{
VertexShader = compile vs_2_0 VS();
PixelShader = compile ps_2_0 PS();
}
}
どこをどう直せばいいのか全くわかりません。
助けてください。