L10 紋理和其他的映射技術 Texture and Other Mapping Techniques

學習目標

  1. 能夠應用像素順序掃描以生成紋理
  2. 描述並應用其他高級映射方法

紋理映射: 就像貼牆紙一樣,我們需要把所需紋理貼到想貼的物體上。其基本思想其實就是:圖元中的每個頂點指定恰當的紋理座標,然後通過紋理座標在紋理圖中可以確定選中的紋理區域,最後將選中紋理區域中的內容根據紋理座標映射到指定的圖元上
紋理的座標系,叫紋理座標系(s,t),他的範圍只有[0,1],如下圖:在這裏插入圖片描述

兩種紋理映射方法

  1. 紋理掃描(texture scanning):將紋理座標系(s,t)中的紋理圖案映射到像素(x,y)。(一般不用)下圖從左到右
  2. 像素順序掃描(pixel order scanning ):將像素(x,y)映射到(s,t)中的紋理圖案。下圖從右到左

在這裏插入圖片描述
在這裏插入圖片描述

  • 從紋理空間到對象空間的映射通常使用線性函數在這裏插入圖片描述
  • 從對象空間到投影空間是 視角變換和投影變換的串聯。

舉例

假如我們想把上面的那張紋理圖,貼在下面這個圓柱體的表面,我們先正着推:
在這裏插入圖片描述
該圓柱體的參數方程爲
在這裏插入圖片描述

  1. 則從紋理空間到對象空間的映射 texture-surface transformation Mt :
    在這裏插入圖片描述
  2. 假設沒有幾何變換並且投影在X方向上正交。那麼Y- Z是投影平面。那麼視角和投影轉換Mvp爲:
    在這裏插入圖片描述
  3. 因爲像素順序掃描中,我們要求的是從(Y,Z)—>(s,t) 。所以我們要先求Mvp的逆矩陣,在求Mt的逆矩陣,他們分別是:在這裏插入圖片描述在這裏插入圖片描述
  4. 綜合起來就是
    在這裏插入圖片描述
  5. 使用此變換,像素(Y,Z)的像素區域將被反變換爲紋理空間(s,t)中的區域。該區域中的強度值被平均以獲得像素強度。

凹凸貼圖 bump mapping

  1. 紋理貼圖可用於爲平滑的表面添加精細的表面細節。但是,由於紋理圖案中的照明細節通常不與場景中的照明方向相對應,所以對像草莓 橘子這樣的粗糙表面而言 不是個好法子。
  2. 凹凸貼圖是一種用於創建表面凹凸感的方法。表面法線用微擾函數perturbation function。而擾動法線用於照明模型計算中。
  • P(u,v) 是在參數表面上的位置
  • N (u,v)的表面法線
  • N=Pu✖️ Pv
    在這裏插入圖片描述
  • 我們在P(u,v)上添加一個小的凹凸函數b(u,v)。他就變成了變成P(u,v)+ b(u,v)*n
  • n 是 單位(向外)表面法線
  • b(u,v) 一般是查表得到

環境貼圖 environmental mapping

  • 是一種使用紋理映射概念的簡化射線跟蹤方法。

  • 環境圖是在封閉的Universe的表面上定義的。信息包括光源,天空或其他背景物體的強度值。

  • 通過將像素區域投影到表面來渲染表面,然後將其反射到環境貼圖上。如果表面是透明的,則也可以折射到地圖上。

  • 通過對環境圖的相交區域內的強度值求平均來確定像素強度。在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章