最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

計算機(jī)圖形學(xué)基礎(chǔ)(三):表面著色(Surface Shading)

2023-08-04 10:54 作者:寧牁兒  | 我要投稿

所有專欄系列的內(nèi)容均為本人(b站id:寧牁兒)精心總結(jié)和排版,僅用于免費(fèi)學(xué)習(xí)交流,任何人不得擅自用于商業(yè)活動

前面的章節(jié)已經(jīng)能簡單地計算觀測光線和相交點了,接下來就是為該相交點著色,用于計算著色的表達(dá)式就叫做著色模型,著色模型可以完全獨立于渲染系統(tǒng)的其它部分,接下來討論一個最基本的著色模型,它可以用于點光源照射不透明表面。

類點光源光照(Point-like light sources)

類點光源分為兩種:一,點光源,特征是足夠小且距離場景比較近,可以被當(dāng)做一個點來處理,它對場景中的物體有不同的照射;二,方向光源,它也可以被看做是一個點,但是它離場景比較遠(yuǎn),所以它幾乎對場景的所有物體有著相同的照射,我們不需要知道它的位置而只需要知道它的方向即可。LED燈和太陽光就是這兩種光源的典型例子。

點光源光照

點光源通過它的位置(三維空間中的一點)和發(fā)光強(qiáng)度來描述,點光源可以在各個方向上的發(fā)光強(qiáng)度一樣(各向同性的),也可以只在特定的方向上發(fā)光(如聚光燈)。

對于各向同性的光源,假設(shè)其輻射能量(radiant power)為1瓦特,考慮以其為中心、半徑為1的球面,該光源發(fā)出的能量全部打在了這個球面上,球面面積為4%5Cpi,所以它的輻射能量密度可表示為%5Cfrac%7B1%7D%7B4%5Cpi%7D,這一密度也叫做輻射照度(irradiance)。

把這個場景推及到普遍情況,一個能量P的各向同性的點光源,打在表面半徑為R的球面上,則輻射照度E為:

%5Cbegin%7Barray%7D%7Bc%7D%20E%20%3D%20%5Cfrac%7BP%7D%7B4%5Cpi%7D%5Ccdot%5Cfrac%7B1%7D%7Br%5E%7B2%7D%7D%20%3D%20I%5Ccdot%5Cfrac%7B1%7D%7Br%5E2%7D%20%5Cend%7Barray%7D

其中,I%20%3D%20%5Cfrac%7BP%7D%7B4%5Cpi%7D表示光源的光照強(qiáng)度,當(dāng)I一定時,輻射照度與距離的平方r%5E2成反比。

圖1

上面的球面是一個特殊情況,光線都是垂直地照向球面(即光線方向和表面法線同向)。大部分情況下,光線和表面法線并不同線,如果將表面轉(zhuǎn)動%5Ctheta,此時的照度需要乘上因子cos%5Ctheta(蘭伯特余弦定理),此時:

%5Cbegin%7Barray%7D%7Bc%7D%20E%20%3D%20I%5Ccdot%5Cfrac%7Bcos%5Ctheta%7D%7Br%5E2%7D%20%5Cend%7Barray%7D

其中%5Cfrac%7Bcos%5Ctheta%7D%7Br%5E2%7D可以叫作對點光源的幾何因子,只取決于點光源和接收表面的幾何位置關(guān)系,cos%5Ctheta的值可以通過指向光源的光線方向的單位向量%5Cvec%20l和表面法線方向的單位向量%5Cvec%20n點乘得到:

%5Cbegin%7Barray%7D%7Bc%7D%20cos%5Ctheta%20%26%3D%20%5Cvec%20n%5Ccdot%20%5Cvec%20l%20%5Cend%7Barray%7D

圖2

方向光源光照

方向光源光照的輻射照度計算幾乎和點光源一樣,只是光源距離場景太遠(yuǎn)以至于%5Cfrac%7BI%7D%7Br%5E2%7D可以視為一個常量,把它叫做常量H,這個常量就是直射照度。對于方向光源光照,有:

%5Cbegin%7Barray%7D%7Bc%7D%20E%20%26%3D%20Hcos%5Ctheta%20%5Cend%7Barray%7D

反射模型

照度描述的是有多少光打在物體的表面上,而著色還要考慮到它是如何反射到觀測點的。

蘭伯特反射

蘭伯特反射是一種理想散射,它假設(shè)光線同等地反射至所有方向,而不考慮入射光線的方向,所以此時觀測點觀察到的反射光L_%7Br%7D只和照度相關(guān):

%5Cbegin%7Barray%7D%7Bc%7D%20L_%7Br%7D%20%26%3D%20kE%2C%20where%20%5Cquad%20k%20%26%3D%20%5Cfrac%7BR%7D%7B%5Cpi%7D%20%5Cend%7Barray%7D

鏡面反射

很多材料都會有一些高光,比如金屬、光滑的塑料、植物葉子等,當(dāng)看向這些材料時,反射會隨著你的觀測位置變化而變化。也就是說,鏡面反射依賴于觀測點的位置。理想化的鏡面反射的入射角和折射角相等,但實際情況是有很多物體表面并不是完全光滑的,這在圖形學(xué)中被稱作光澤反射。

從前面我們知道光澤反射會依賴于表面法線n、光照方向l和觀測向量v,一種比較簡單的光澤反射模型是修正Blinn-Phong模型,這個模型的思想是:當(dāng)光照方向l和觀測向量v關(guān)于表面法線n對稱時,會表現(xiàn)出最明亮的反射光,并且反射光的強(qiáng)度會隨著觀測向量v偏離對稱位置而平滑下降。

圖3

我們使用半程向量h來衡量觀測向量v偏離對稱位置的程度,半程向量指的是觀測向量v和光照向量l疊加的一半。當(dāng)hn方向相等時,說明觀測向量v正好在對稱的位置,反射光強(qiáng)度就越大;反之,當(dāng)h越偏離n,強(qiáng)度就越小。可以通過計算nh的點積來衡量偏離程度,當(dāng)兩者重合時該點積達(dá)到最大值。修正Blinn-Phong模型還給這個值指定了一個指數(shù)p確定它下降的快慢程度:

%5Cbegin%7Barray%7D%7Bc%7D%20(n%5Ccdot%20h)%5Ep%20%5Cend%7Barray%7D

p值控制了表面反射的高亮程度,當(dāng)p越大時,說明反射光強(qiáng)度下降的越快,也就表明了該表面的高亮程度更高。

在知道光源位置S和著色點X(即相交點)的情況下,可以計算光源至相交點的距離r和光照向量l的單位向量為%5Cvec%20l

%5Cbegin%7Barray%7D%7Bc%7D%20r%20%26%3D%20%5Cleft%20%5C%7C%20S-X%20%5Cright%20%5C%7C%2C%20%5C%5C%20%5Cvec%20l%20%26%3D%20%5Cfrac%7BS-X%7D%7Br%7D%20%3D%20%5Cfrac%7BS-X%7D%7B%5Cleft%20%5C%7C%20S-X%20%5Cright%20%5C%7C%7D%20%5Cend%7Barray%7D

半程向量的單位向量%5Cvec%20h容易得到,假設(shè)觀測向量v的單位向量為%5Cvec%20v,光照向量l的單位向量為%5Cvec%20l,則有:

%5Cbegin%7Barray%7D%7Bc%7D%20%5Cvec%20h%20%26%3D%20%5Cfrac%7B%5Cvec%20l%2B%5Cvec%20v%7D%7B%5Cleft%20%5C%7C%20%7B%5Cvec%20l%2B%5Cvec%20v%7D%20%5Cright%20%5C%7C%20%7D%20%5Cend%7Barray%7D

對于蘭伯特反射來說,反射光L_%7Br%7D%20%3D%20k%7BE%7D%3D%5Cfrac%7BR%7D%7B%5Cpi%7DE,即k%3D%5Cfrac%7BR%7D%7B%5Cpi%7D是一個常量,但對光澤反射來說,需要對系數(shù)k加上一個高光反射部分:

%5Cbegin%7Barray%7D%7Bc%7D%20L_%7Br%7D%20%26%3D%20(%5Cfrac%7BR%7D%7B%5Cpi%7D%20%2B%20k_%7Bs%7Dmax(0%2C%5Cvec%20n%5Ccdot%5Cvec%20h)%5Ep)E%5C%5C%20%26%3D%20(%5Cfrac%7BR%7D%7B%5Cpi%7D%20%2B%20k_%7Bs%7Dmax(0%2C%5Cvec%20n%5Ccdot%5Cfrac%7B%5Cvec%20l%2B%5Cvec%20v%7D%7B%5Cleft%20%5C%7C%20%7B%5Cvec%20l%2B%5Cvec%20v%7D%20%5Cright%20%5C%7C%7D)%5Ep)E%20%5Cend%7Barray%7D

其中系數(shù)k_%7Bs%7D叫做鏡面系數(shù)(specular coefficient),控制著高光的整體明亮程度。max(0%2C%5Cvec%20n%5Ccdot%5Cvec%20h)是為了防止%5Cvec%20n%5Ccdot%5Cvec%20h出現(xiàn)負(fù)數(shù)的情況。此時整體的系數(shù)k%3D%5Cfrac%7BR%7D%7B%5Cpi%7D%20%2B%20k_%7Bs%7Dmax(0%2C%5Cvec%20n%5Ccdot%5Cvec%20h)%5Ep,這個表達(dá)式被叫做雙向反射分布函數(shù),它描述了反射光如何隨著觀測向量v和光照向量l的變化而變化。

計算機(jī)圖形學(xué)基礎(chǔ)(三):表面著色(Surface Shading)的評論 (共 條)

分享到微博請遵守國家法律
含山县| 桃园县| 桃源县| 攀枝花市| 运城市| 朔州市| 荔波县| 色达县| 乌兰浩特市| 麟游县| 永胜县| 黄冈市| 阿克| 中超| 丰宁| 比如县| 新昌县| 阳新县| 乃东县| 庆安县| 平度市| 黔江区| 观塘区| 江北区| 阜新| 蓬莱市| 日照市| 邓州市| 南华县| 和静县| 安化县| 蒲江县| 黄平县| 息烽县| 镇康县| 陆丰市| 谷城县| 鲁山县| 吕梁市| 安化县| 惠来县|