2011-09-13 59 views
1

我需要在着色器文件中傳遞紋理,但它給了我錯誤「無效的調用」。請幫忙告訴我我做錯了什麼? 關注是我寫的代碼。我可以設置除Texture之外的所有參數。將紋理設置爲效果文件

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不再受Microsoft支持。我強烈建議使用XNA或SlimDX。 – Goz

回答

0

我找到了解決方案,這可能是其他人使用的同一個問題。

我需要使紋理結構在着色器文件中傳遞紋理。代碼如下。

texture Texture; 
sampler Texture2 = sampler_state 
{ 
    texture = <Texture>; 
    magfilter = LINEAR; 
    minfilter = LINEAR; 
    mipfilter = LINEAR; 
    AddressU = mirror; 
    AddressV = mirror; 
};