詳解凹凸、法線視差位移貼圖via豬_第1頁
詳解凹凸、法線視差位移貼圖via豬_第2頁
詳解凹凸、法線視差位移貼圖via豬_第3頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

凹凸貼對于凹凸貼圖在計算機圖形領(lǐng)域中的研究,最早開始于70年代末,至今已經(jīng)有接近30年歷史了。NormalMapXBOX360PlayStation3CGFXCarlBumpMap。這種貼圖是一種灰度圖,用表面在游戲中,所使用的算法確切的說應(yīng)該叫做fakebumpmap,假凹凸貼圖。因為在游戲中BumpMap并沒有改變物體的表面而只是影響光照的結(jié)果,眼睛而已。最簡單的做BumpMap些諸位會比小的更擅長。而計算復(fù)雜度是基本加減法。這個所謂的FakeBumpMap從Geforce2不過有趣的是,BumpMap這個東西卻從未過時,在后來的渲染算法中,其表面高度域NormalMap在游戲領(lǐng)域中的實踐是一個非常值得記住的時期--Geforce3上市,GPU概念出現(xiàn),硬件可編程流水線的出現(xiàn)(Shaders),NormalMap是一種凹凸貼圖技術(shù),它的另外一個名字叫做Dot3bumpmap。種。我們先說說這張叫做NormalMap的圖。這張圖中的東西是每個原始表面法線的迭3D法線就像是一根站立于桌面的鋼筆,垂直向上。而NormalMap中的東西就是我們這支15NormalMapNormalMap,一種叫做切空間的NormalMapNormalMapBumpMapNormalMapZUVXY(確切的說,應(yīng)該是稱作切線和負法線,但是這兩個東西和大家熟悉的UV坐標剛好,所以就用大家更習(xí)慣的說法了)XYZ在-11(不用多解釋,大家知但是,請大家注意,我們在描述色彩的時候,RGBXYZN+1/2這樣就把所有的法線壓縮到了0和1的范圍里。然后我們把XYZ的方向分別在RGB三NormalMapXYZ0,0,112,0.5,0.5,1RGB128,128,255P.S.現(xiàn)在FXCarl和你猜個謎,看看FXCarl說的對不對?,F(xiàn)在我們在NormalMap上看見一個顏色,這個顏色是219,128,219。那么這個表面的法線方向是垂直向右偏45度。大家用MAXNormalMapFXCarl如果你還沒有理解NormalMap的意思,或者說你有再深入了解一些,那么FXCarl再和90上這個點的切空間坐標了!大家一定想到了原來我們的NormalMap中的表面法線方向3DNormalMapNormalMap,可是我God~NormalMapNormalMap了。恩,不過這個大家可以放心,MAXMayaNormalMapNormalMapPhongGround3D3D了Shaders出現(xiàn)之后才有的,因此NormalMap也是一個Shaders必須的算法。計算一NdotLNdotL,就是物體表面的法線和容易:Diffuse=saturate(Mul(Normal,Light));。想要簡單的理解就是--光線的方向NormalMap。這時我們的光照計算和以往有點不同,我們把表面的法NormalMap句--NormalMapNormalMap面上的形狀。因此,表面上看來,似乎只要是不接近水平,NormalMap題。其實不然,NormalMapNormalMap讓我們看不見那支牙簽??墒荖ormalMap卻不會這么做。因此能看見物背后NormalMap的作用。這樣一來,NormalMapNormalMap值得推廣的。后面的幾種新興算法其實都是由NormalMap發(fā)展起來的,因此做為基礎(chǔ)NormalMap,NormalMapBumpMapBumpMapNormalMapOnTheFly(就是讓游戲引擎直接讀BumpMapNormalMap)。因此對于一些建起模來效率很低,但是又能明顯增加表面細節(jié)的東西,例泥表面的顆粒,用畫Bump的方式來做是個更好的主意,然后交給技Z-BurshFXCarlMAXUVBumpMapBumpMapNormalMap。Parallaxmap視差貼圖(因為后面的算法都是基于NormalMap的應(yīng)用,可能看上去沒有NormalMap那么長了,但內(nèi)容肯定一樣的?。┮暡钯N圖是一種NormalMap算法的增強算法,其本質(zhì)上和NormalMap沒有區(qū)別。3HLSL(GPU以忽略)NormalMap,Parallaxmap基本上都有--特別是視角接近平行的時候,凹凸感的問題,并沒有明顯改NormalMap去?;蛘甙凑誇XCarl個人的說法--Parallaxmap才是真正具有實用價值的目前實踐證明,這種技術(shù)非常適合XBOX360和PS3這樣的新世代游戲主機(都上市一年了還用次世代……受不了現(xiàn)在有些人)。例如360游戲SEGA犯就是使用的和PC戲FEAR一樣的Monolith引擎--使用Parallaxmap。Parallaxmap使用的還是單張的控制紋理。一張NormalMap。如果我們用AcdSee來看這張NormalMap,我們會發(fā)覺似乎和NormalMap用的控制紋理是一樣的。而如果我們打開這張NormalMap的Alpha通道,就會發(fā)現(xiàn)其中的所在。原來Alpha通道里的NormalMapBumpMap!(HeightMap,就是用飽和度記錄表面高度)照大家這么多年美術(shù)做下來的經(jīng)驗,對于圖素(Texel,紋理上的一點)的理解肯定是RBG3個 的Alpha通道。但是在我們的渲染器和程序員的眼里,它可不是我4(其實可以理解成四個數(shù)的組合)。這4個數(shù)字的取值范圍分別是0到255。通過這個空間,其實可以用來做別的事情--最常用的就是記錄表面的物理細節(jié)。至于為什么要用控制紋理呢?FXCarlNormalMapNormalMapNormalMapNvidia的DEMO曾經(jīng)用紋理物體表面在陽光下的色彩變化規(guī)律。把藝術(shù)家想要實時改Parallaxmap是如何達到增加NormalMap的效果的呢。我們要從NormalMap的特性說NormalMap正確的,要知道背后的東西應(yīng)該是看不見的才對。因此Parallaxmap就是來緩解這個素的而不見了--很明顯,這個算法是不太站得住腳的,雖然計算的時候會參考玩家NormalMapAlphaShaderModel3.0DisplacementMapDisplacementmap位移貼和前面說的幾種方式不同,DisplacementMap是一種真正改變物體表面的方式。通過同的微多邊形。這個過程叫做鑲嵌。然后一張Bump貼圖。根據(jù)表面的灰度確定高度。ZBrushZbrush首先就是,對硬件的要求很高,必須支持ShaderMode3.0才可以,因為只有支持SM3才可而沒有影響)DX10實要更為合理。給予畫面特效的機會,同時更有趣的是,其實他和其他基于象素的凹凸貼圖并沒有什么。其實這種位移貼圖在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論