我正在尝试在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/