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