1. 程式人生 > 實用技巧 >Games101 筆記 09 著色(插值、高階紋理對映)

Games101 筆記 09 著色(插值、高階紋理對映)

Interpolation Across Triangles: Barycentric Coordinates (重⼼座標)

為什麼需要插值, 因為我們有些操作時定義在頂點上的, 需要平滑插值三角形內部的點

什麼東西可以插值, 紋理座標, 顏色, 法線向量.

三角形內部的任意一個點 都可以通過3個頂點描述出來,

3個係數和時1. 在三角形內部的畫,

3個係數都大於0

比如a點 1,0,0

任意一個點的座標,

三角形的重心

簡化的公式

任何屬性根據3個係數來插值.

在投影之後的三角形, 重心座標可能不一樣. 三維空間的點來插值

Applying Textures 紋理應用

Texture Magnification 紋理方法

(What if the texture is too small?)

雙線性插值

水平上2次, 垂直上1次

Texture Magnification (hard case)

(What if the texture is too large?) 紋理大了怎麼辦

超取樣, 可以解決但是消耗太大

還可以怎麼做呢. 不採樣, 但是需要獲取一個範圍的平均值

Mipmap

Allowing ( fast, approx., square ) range queries 允許 快速, 不準, 僅僅時方形的 快速查詢. 所有其他的圖全部加起來, 增加了1/3. 查詢紋理空間的點 查詢D層的mipmap 上對應的唯一畫素

三線性插值

如果要查詢的時一個1.8層的這種點, 那麼可以從1,2 層插值得到.

mipmap 在遠處過度糊掉

各向異性過濾

相對於矩形區域, 比mipmap好, mipmap 只能正方形, 但是對於斜著的還是不行

各項過濾開銷時原圖的3倍, 只是視訊記憶體的開銷.

EWA 過濾

不規則形狀都可以拆成圓型, 多次查詢就可以覆蓋這個形狀.