2011-09-13 7 views
1

シェーダファイルにテクスチャを渡す必要がありますが、「無効な呼び出し」エラーが表示されます。私が間違っていることを教えてください。 フォローは私が書いたコードです。テクスチャ以外のすべてのパラメータを設定することができます。テクスチャを効果ファイルに設定

float progress;  
float4 colBack; 
float reverse; 

sampler input : register(s0); 
sampler Texture2 : register(s1); 

//Code to get the parameterhandle 
progressHandle = transitionEffect.GetParameter(null, "progress")); 
reverseHandle= transitionEffect.GetParameter(null, "Reverse")); 
Texture2Handle= transitionEffect.GetParameter(null, "Texture2")); 
//Code to set the value 
transitionEffect.SetValue(progressHandle, progress); 

transitionEffect.SetValue(reverseHandle, Reverse); 
transitionEffect.SetValue(Texture2Handle, smapleTexture); 
+0

「スタックオーバーフローへようこそ」では、{{} 'ツールボックスボタンを使用してコードを表してください。 –

+2

マネージドDirectXはマイクロソフトでサポートされなくなりました。 XNAまたはSlimDXの使用を強くお勧めします。 – Goz

答えて

0

私は解決策を見つけました。これは、同じ問題のために他の人に使用される可能性があります。

テクスチャ構造を作って、シェーダファイルにテクスチャを渡す必要があります。以下のコードを入力します。

texture Texture; 
sampler Texture2 = sampler_state 
{ 
    texture = <Texture>; 
    magfilter = LINEAR; 
    minfilter = LINEAR; 
    mipfilter = LINEAR; 
    AddressU = mirror; 
    AddressV = mirror; 
}; 
関連する問題