共用方式為


紋理篩選

當原始物件透過將 3D 原始物件對應至 2D 畫面時,紋理篩選會為原始物件的 2D 轉譯影像產生一個色彩。

Direct3D 轉譯原始物件期間,會將 3D 原始物件對應至 2D 畫面。 如果原始物件具有紋理,Direct3D 就必須使用紋理,為原始物件之 2D 轉譯影像中的每個像素產生一個色彩。 針對原始物件在畫面中的影像,每個像素都必須包含一個來自紋理的色彩值。 這個程序就是所謂的「紋理篩選」

執行紋理篩選作業時,使用的紋理通常也會放大或縮小。 換句話說,它會對應到比自身更大或更小的原始物件影像中。 放大紋理可能會導致多個紋理對應至單一紋理像素。 這樣一來,就有可能形成塊狀外觀。 縮小紋理通常意味著將單一像素對應至多個紋理像素。 產生的影像可能會發生模糊或鋸齒化。 若要解決上述問題,就必須執行部分紋理像素色彩混合,以產生適用於像素的色彩。

Direct3D 可將複雜的紋理篩選程序予以簡化。 它能提供三種類型的紋理篩選:線性篩選、非等向性篩選和 Mipmap 篩選。 如果沒有選取任何紋理篩選,Direct3D 就會使用名為「最接近點取樣」的技術。

每個類型的紋理篩選都有各自的優勢和劣勢。 舉例來說,線性紋理篩選可能會在最終影像內產生鋸齒狀邊緣或塊狀外觀。 不過,它是運算負荷較低的紋理篩選方法之一。 使用 Mipmap 篩選經常可產生最佳結果,特別在結合非等向性篩選時。 但在 Direct3D 支援的技術中,此一篩選所需的記憶體量最為驚人。

紋理篩選類型

Direct3D 支援下列紋理篩選方法。

本節內容

主題 說明

最接近點取樣

應用程式不一定需要使用紋理篩選。 Direct3D 可進行設定,以計算紋理像素位址 (通常不會評估為整數),並使用最接近整數的位址來複製紋理像素的色彩。 這個程序就是所謂的最接近點取樣

雙線性紋理篩選

雙線性紋理篩選會計算最接近取樣點之 4 個紋理像素的加權平均。 這個篩選方法比最接近點篩選更加精確且常見。 由於它會在現代化圖形硬體上執行,因此為效率十足的方法。

非等向性紋理篩選

非等向性為 3D 物件紋素中的可見失真,而該物件表面會朝向與畫面平面相對的角度。 當來自非等向性原始物件的像素對應至紋理像素時,其形狀就會發生失真。

使用 Mipmap 進行紋理篩選

Mipmap 為一系列的紋理,每個紋理都會使用逐漸降低的解析度來呈現相同的影像。 Mipmap 中每個影像 (或層級) 的高度和寬度,都會比上一個層級小二次方。

 

紋理