我正在尝试在HLSL文件中定义一个简单的SamplerState以用于纹理。
编译着色器时,出现错误:

error X3004: undeclared identifier 'Filter'


资源:

// part of render.hlsl
SamplerState linear_sample=
{
    Filter=MIN_MAG_MIP_LINEAR;
    AddressU = Wrap;
    AddressV = Wrap;
};


汇编:

hr=D3DX10CreateEffectFromFile("render.hlsl",NULL,NULL,"fx_4_0",D3D10_SHADER_ENABLE_STRICTNESS | D3D10_SHADER_DEBUG,0,dx_device,NULL,NULL,&dx_effect,&dx_err,NULL);'


我已经检查了MSDN,但我的HLSL文件似乎没有问题。我编译不正确吗?

最佳答案

删除linear_sample之后的=符号。

关于c++ - HLSL采样器状态,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17797589/

10-11 18:34