在3D電腦圖形的貼圖渲染中有一個常用的技術被稱為Mipmapping。為了加快渲染速度和減少圖像鋸齒,貼圖被處理成由一系列被預先計算和最佳化過的圖片組成的檔案,這樣的貼圖被稱為 MIP map 或者 mipmap。這個技術在三維遊戲中被非常廣泛的使用。「MIP」來自於拉丁語 multum in parvo 的首字母,意思是「放置很多東西的小空間」。Mipmap 需要佔用一定的主記憶體空間,同時也遵循小波壓縮規則 (wavelet compression)。

來源

Mipmapping技術在1983年由Lance Williams 發明,在他的論文 Pyramidal parametrics 有描述。[1]

如何使用

 
上面是一個mipmap 如何儲存的例子,左邊的主圖伴有一系列逐層縮小的備份小圖

Mipmap中每一個層級的小圖都是主圖的一個特定比例的縮小細節的複製品。雖然在某些必要的視角,主圖仍然會被使用,來渲染完整的細節。但是當貼圖被縮小或者只需要從遠距離觀看時,mipmap就會轉換到適當的層級。事實上,在三線性過濾(trilinear filtering)起作用時,會在兩個相近的層級之間切換。

因為mipmap貼圖需要被讀取的像素遠少於普通貼圖,所以渲染的速度得到了提升。而且操作的時間減少了,因為mipmap的圖片已經是做過抗鋸齒處理的,從而減少了即時渲染的負擔。放大和縮小也因為mipmap而變得更有效率。

如果貼圖的基本尺寸是256x256像素的話,它mipmap就會有8個層級。每個層級是上一層級的四分之一的大小,依次層級大小就是:128x128;64x64;32x32;16x16;8x8;4x4;2x2;1x1(一個像素)。例如在一個場景中,渲染貼圖需要填滿的空間大小是40x40像素的話,如果沒有三線性過濾,那32x32 會被放大顯示,或者有三線性過濾,會在64x64和32x32之間切換。最簡單的生成貼圖的方法就是依次做平均,當然也可以用更加進階的演算法。

參考文獻

  1. ^ 存档副本 (PDF). [2012-09-25]. (原始內容 (PDF)存檔於2014-04-14). 

參看