GAMES101 P10 几何1 笔记
1 貼圖的應用
? ? ? ? 紋理可以理解成一塊數據,可以做不同類型的查詢,所以它的應用有很多:
?? ? ?1.環境光/環境貼圖:
? ? ? ? 用紋理描述環境長什么樣,然后用環境光去渲染其他的物體:
? ? ? ? ?把環境光記錄在球面上:
? ? ? ? ?把球面紋理展開,會發現在頂部有扭曲:
? ? ? ? ?所以為了解決扭曲的辦法,有了CubeMap:
? ? ? ? ? ? ?把正方形展開:
?2.凹凸貼圖(法線貼圖)
? ? ? ? 紋理不止可以描述顏色,還可以描述一個物體表面的一個相對高度:
? ? ? ? ?通過改變物體表面某個點的高度來改變法線從而改變著色的計算:
? ? ? ? ?那如何計算法線?在平面中,我們用凹凸貼圖去定義了各個點的高度,那么由這些高度我們對臨近的兩個點可以計算出它的切線dp,而切線向量經過逆時針旋轉則會得到法線。所以也就是說我們在凹凸貼圖里定義了切線,然后用切線去計算法線:
????????? ? ? ? ?在三維中的法線:
? ? ? ? ?除了使用凹凸貼圖外,還可以使用另外一種方式做以上這種效果,并且效果更好-----位移貼圖:
?????????
????????3. 噪聲
? ? ? ? ?4.記錄之前已經算好了的信息(比如unity中的烘培)
? ? ? ? ?5.體渲染
?
2?介紹幾何
? ? ? ?2.1?幾何的隱式表達
? ? ? ? ?比如圓的方程定義表示一個圓上的點所滿足的關系:
? ? ? ? ?隱式的表示很容易判斷一個點是在物體內還是外:
????????2.2 幾何的顯式表達
? ? ? ? 顯式的表達方式要么直接給出所有的點,要么通過參數映射的方式給出:
? ? ? ? ?也就是說,上面的隱式表示不容易知道物體長什么樣,也很難找到物體上的所有的點。而對顯式的表示來說,判斷一個點是在物體的里面還是外面就變難了,所以需要有顯式、隱式不同的表示方式。
2.3 表達的更多例子
? ? ? ? 隱式表達1。方程式的表達:
? ? ? ? ?隱式表達2,CSG。用簡單的幾何聯合構成復雜的幾何:
? ? ? ? ?隱式表達3,距離函數:空間中的任意一個點到你想要的一個點的最小距離(可正可負)。把兩個物體的距離函數都算出來之后做Blend然后再恢復成物體,就可以得到這樣的變換:
? ? ? ? ?應用距離函數的例子:
? ? ? ? ? 想要做兩個物體的融合,先求出兩個物體的距離函數,然后blend這兩個距離函數,之后再將距離函數恢復成物體,就可以了。那如何把blend后的函數恢復成物體呢,很簡單,找到距離函數所有等于0的地方,便是物體表面。
? ? ? ? 距離函數不好表示出來,而Level Set Method(水平集)的思想與距離函數非常相似:
? ? ? ? ?這個水平集表示方式在地理中的等高線常見到。而水平集在三維中也是可以表示的:
? ? ? ? ?隱式表達4,Fractals(分形):
總結
以上是生活随笔為你收集整理的GAMES101 P10 几何1 笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python语音合成探究(三、合成语音的
- 下一篇: 华为光伏usb适配器_支持22.5W超级