1、第一副图我们采用各性异性的滤波方式,并设置最大各性异性值为8.
samplerDesc.Filter = D3D11_FILTER_ANISOTROPIC;
samplerDesc.MaxAnisotropy = 8;
第二副图我们用了常用的3线性差值滤波方式
samplerDesc.Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR;
按道理说,对于远处的纹理贴图,第一副图要好些,但我看起来,似乎这两个效果差不多,第二副效果也还可以,对于远处的贴图,我并没有发现模糊的效果。按照文档的介绍,它们之间应该有些区别的,比如像下面这个图:
下面是把cube在z方向放大10倍,比较这两种滤波方式的效果,好像区别也不是特别大。难道是现在的显卡对三线性差值有什么特殊的处理?我的显卡是amd的5630显卡。
完整的代码请参考:
工程文件myTutorialD3D11_36
代码下载: