【问题标题】:Sampler not Wrapping texture采样器不包裹纹理
【发布时间】:2014-01-22 22:38:02
【问题描述】:

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

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

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

我还尝试了编写相同采样器的其他变体,但最终总是使用钳制纹理坐标的默认采样器。

以及读取纹理: Output.Color = dirtTexture.Sample(WrapSampler, PSIn.TextureCoords);

我的时间修复,使纹理正确包裹(无论出于何种原因),如下: _effect.Parameters["WrapSampler"].SetResource(GraphicsDevice.SamplerStates.LinearWrap);

如果需要完整的着色器:http://pastebin.com/tLJi1Uwd

【问题讨论】:

    标签: c# directx shader hlsl sharpdx


    【解决方案1】:

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

    here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-21
      • 1970-01-01
      • 1970-01-01
      • 2014-01-10
      • 1970-01-01
      • 2015-09-06
      相关资源
      最近更新 更多