GAMES101-現代計算機圖形學學習筆記(10)

GAMES101-現代計算機圖形學學習筆記(10)


原課程視頻鏈接以及官網
b站視頻鏈接: link.
課程官網鏈接: link.

紋理的應用

首先接着上節課繼續探討一下紋理的應用。在現代GPUs中,紋理其實就等同於內存+範圍查詢,在把紋理映射在物體表面時,實際上就是對內存中的紋理進行採樣,然後對採樣點進行映射+插值。那麼常見的紋理應用有哪些呢?

  1. Environment Map
    在這裏插入圖片描述
    環境貼圖主要是把環境中的光存在貼圖裏面,作爲紋理屬性賦給模型

  2. Spherical Map
    它用一個球體存儲了整個環境,詳細推導可以參考 :https://zhuanlan.zhihu.com/p/84494845.
    在這裏插入圖片描述

  3. Cube map
    中文名就是立方體貼圖,它是由一個立方體組成的,包含了六個面,每個面都是一張二維紋理圖。它最大的好處就是可以在三維上通過座標直接採樣紋理,即通過原點和已知點就可以對某張紋理圖進行採樣,如下圖:
    在這裏插入圖片描述

  4. Bump Mapping
    如果物體表面的法線有所差異,它們的表面就會在光照下呈現出凹凸不平的效果,而Bump Mapping 就是通過一張高度圖模擬了物體表面位移的情況,即通過高度圖中像素中的梯度變化來擾動物體表面的法向量,使其達到凹凸不平的效果。
    首先假設物體表面每個座標都有一個局部座標系,稱爲切線空間:
    在這裏插入圖片描述
    假設x軸對應的是紋理的u方向,y軸對應的是紋理的v方向,z軸是物體表面法線方向,那麼擾動後的法向量就爲:
    normalnew=normal+xugradient+yvgradientnormal_{new} = normal + x * u_gradient + y * v_gradient
    ugradientu_gradientvgradientv_gradient 就是我們在高度圖上的採樣點的局部梯度,最後我們通過 normalnewnormal_{new} 來計算新的光照模型即可

  5. Displacement Mapping
    Bump Mapping 和 Displacement Mapping最大的區別就是後者是真的在法線的方向上做了偏移,改變了頂點的位置,而Bump Mapping只是做了**“假的”高度變化**,所以它在物體輪廓處的效果會顯得不如 Displacement Mapping
    在這裏插入圖片描述
    紋理還有很多用途,比如做Modeling中的噪聲,預計算模型中的遮擋情況等等。總之,所有需要預計算的貼圖信息,我們都可以用紋理來計算,所以說其實可以把紋理當成一塊內存來看待,只不過它存儲了我們需要的一些信息

幾何

紋理講完了,接下來主要說說幾何。首先幾何有兩種表示方式,第一種是隱式幾何表示,第二種是顯示幾何表示

隱式幾何

隱式幾何表示法不會直接給出空間中幾何位置信息,而是會給出幾何內的一些需要滿足的關係用來表示幾何體。比如圓的方程 x2+y2+z2=1x^{2}+y^{2}+z^{2}=1 ,它就是一種隱式幾何表示方法。更一般化的隱式幾何的通式可以用 f(x,y,z)=0f(x,y,z) = 0 來表示

壞處:
無法直接反應幾何形狀:幾何輪廓,面的形狀
好處:
便於判斷點是否在幾何表面上,表面內(直接帶入函數即可)

顯示幾何

顯示幾何通常又分爲兩類:

  1. 直接表示出三維形狀(之前提到的三角形面片)
  2. 通過參數化映射

壞處:
不方便判斷點在幾何表面內/外
好處:
便於判斷形狀

一些常見的隱式幾何

Algebraic Surfaces

直接用公式表示的幾何體:
在這裏插入圖片描述

Constructive Solid Geometry

通過布爾運算+基礎幾何體組成的複合幾何體:
在這裏插入圖片描述

Distance Functions

通過函數描述任何一個點到幾何的距離,並且通過距離來判斷點在幾何體的表面關係:
在這裏插入圖片描述

Level Set Methods

通過臨界面找到一系列滿足要求的點,來描述形狀,如下列圖中滿足 f(x)=0f(x) = 0 的曲線:
在這裏插入圖片描述

Fractals

用一系列小物體組成的大物體,同時這些小物體可能會由更小的物體組成:
在這裏插入圖片描述

一些常見的顯示幾何

Point Cloud

點雲就是由一系列點(x,y,z)組成的,只不過這些點可能還有其他信息,如法向,顏色等:
在這裏插入圖片描述

Polygon Mesh

通過多邊形構成的幾何體:
在這裏插入圖片描述

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