Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 取样器不包裹纹理_C#_Directx_Shader_Hlsl_Sharpdx - Fatal编程技术网

C# 取样器不包裹纹理

C# 取样器不包裹纹理,c#,directx,shader,hlsl,sharpdx,C#,Directx,Shader,Hlsl,Sharpdx,我有一个着色器,里面有一个不起作用的采样器,我现在用一个临时修复覆盖了它。但是我最终发现了问题并修复了这个着色器 基本上,我的纹理和采样器是这样定义的(使用Profile=fx\u 4\u 0;,还尝试了许多其他定义采样器的方法,例如:使用采样器状态的dx9方式等): 我还尝试了编写同一个采样器的其他变体,但它总是使用默认采样器来钳制纹理坐标 对于读取纹理: Output.Color=dirtTexture.Sample(WrapSampler,PSIn.TextureCoords) 我的临时修

我有一个着色器,里面有一个不起作用的采样器,我现在用一个临时修复覆盖了它。但是我最终发现了问题并修复了这个着色器

基本上,我的纹理和采样器是这样定义的(使用
Profile=fx\u 4\u 0;
,还尝试了许多其他定义采样器的方法,例如:使用采样器状态的dx9方式等):

我还尝试了编写同一个采样器的其他变体,但它总是使用默认采样器来钳制纹理坐标

对于读取纹理:
Output.Color=dirtTexture.Sample(WrapSampler,PSIn.TextureCoords)

我的临时修复程序使纹理正确包裹(无论出于何种原因),如下所示:
\u effect.Parameters[“WrapSampler”].SetResource(GraphicsDevice.SamplerState.LinearRap)


完整着色器(如果需要):

您必须在着色器外部定义采样器状态,因此您的临时修复是正确的方法

Texture2D dirtTexture;
SamplerState WrapSampler {
    Filter = MIN_MAG_MIP_LINEAR;
    AddressU = Wrap;
    AddressV = Wrap;
};