天天看點

Directx11教程41 紋理映射(11)

1、第一副圖我們采用各性異性的濾波方式,并設定最大各性異性值為8.

    samplerDesc.Filter =  D3D11_FILTER_ANISOTROPIC;

    samplerDesc.MaxAnisotropy = 8;

Directx11教程41 紋理映射(11)

   第二副圖我們用了常用的3線性內插補點濾波方式

  samplerDesc.Filter =  D3D11_FILTER_MIN_MAG_MIP_LINEAR;

Directx11教程41 紋理映射(11)

      按道理說,對于遠處的紋理貼圖,第一副圖要好些,但我看起來,似乎這兩個效果差不多,第二副效果也還可以,對于遠處的貼圖,我并沒有發現模糊的效果。按照文檔的介紹,它們之間應該有些差別的,比如像下面這個圖:

Directx11教程41 紋理映射(11)

     下面是把cube在z方向放大10倍,比較這兩種濾波方式的效果,好像差別也不是特别大。難道是現在的顯示卡對三線性內插補點有什麼特殊的處理?我的顯示卡是amd的5630顯示卡。

Directx11教程41 紋理映射(11)

完整的代碼請參考:

工程檔案myTutorialD3D11_36

代碼下載下傳:

<a href="http://files.cnblogs.com/mikewolf2002/d3d1127-28.zip">http://files.cnblogs.com/mikewolf2002/d3d1127-28.zip</a>

<a href="http://files.cnblogs.com/mikewolf2002/pictures.zip">http://files.cnblogs.com/mikewolf2002/pictures.zip</a>