計算機(jī)圖形學(xué)真實(shí)感圖形_第1頁
計算機(jī)圖形學(xué)真實(shí)感圖形_第2頁
計算機(jī)圖形學(xué)真實(shí)感圖形_第3頁
計算機(jī)圖形學(xué)真實(shí)感圖形_第4頁
計算機(jī)圖形學(xué)真實(shí)感圖形_第5頁
已閱讀5頁,還剩104頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

計算機(jī)圖形學(xué)真實(shí)感圖形210.1顏色模型

10.2簡單光照模型

10.3光滑著色

10.4簡單透明模型10.5陰影模型10.6紋理映射10.7本章小結(jié)本章內(nèi)容第2頁,共109頁,2024年2月25日,星期天3使用透視投影繪制的三維物體已經(jīng)具有近大遠(yuǎn)小的立體效果,經(jīng)過背面剔除和z-buffer消隱后,初步生成了具有較強(qiáng)立體感的圖形,但要模擬真實(shí)物體,還必須為其表面添加材質(zhì)、映射紋理、施加光照、繪制陰影后才能產(chǎn)生真實(shí)感圖形(photorealismcomputergraphics)。三維場景第3頁,共109頁,2024年2月25日,星期天410.1顏色模型紅、綠、藍(lán)三原色是基于人眼視覺顏色感知的三刺激理論設(shè)計的。三刺激理論認(rèn)為,人眼的視網(wǎng)膜中有三種類型的視錐細(xì)胞,分別對紅、綠、藍(lán)三種色光最敏感。人眼光譜靈敏度實(shí)驗(yàn)曲線證明,這些光在波長為700nm(紅色)、546nm(綠色)和435.8nm(藍(lán)色)時的刺激點(diǎn)達(dá)到高峰。三原色有這樣的兩個性質(zhì):(1)三原色中的任意兩種原色的組合都得不到第三種原色;(2)通過三原色的混合可以得到可見光譜中的任何一種顏色。計算機(jī)圖形學(xué)中常用的顏色模型有RGB顏色模型、HSV顏色模型和CMYK顏色模型等。其中顏色模型RGB和CMYK是最基礎(chǔ)的模型,其余的顏色模型在顯示時都需要轉(zhuǎn)換為RGB模型,在打印或印刷時都需要轉(zhuǎn)換為CMYK模型。第4頁,共109頁,2024年2月25日,星期天5視網(wǎng)膜存在兩種感光細(xì)胞:視錐細(xì)胞與視桿細(xì)胞。視錐細(xì)胞在中央凹分布密集,而在視網(wǎng)膜周邊區(qū)相對較少。視錐細(xì)胞對強(qiáng)光敏感。視桿細(xì)胞在中央凹處無分布,主要分布在視網(wǎng)膜的周邊部,視桿細(xì)胞對暗光敏感。第5頁,共109頁,2024年2月25日,星期天610.1.1原色系統(tǒng)(a)RGB加色系統(tǒng)(b)CMY減色系統(tǒng)圖10-1原色系統(tǒng)第6頁,共109頁,2024年2月25日,星期天7補(bǔ)色指完全不包含另一種顏色互補(bǔ)色第7頁,共109頁,2024年2月25日,星期天8

對于發(fā)光體使用的是RGB加色系統(tǒng),對于反射體使用的是CMY減色系統(tǒng)。

加色系統(tǒng)中,通過對顏色分量的疊加產(chǎn)生新顏色。紅色和綠色等量疊加成為黃色,紅色和藍(lán)色等量疊加成為品紅;綠色和藍(lán)色等量疊加成為青色;如果紅色、綠色和藍(lán)色等量疊加,則成為白色。

減色系統(tǒng)中,通過消除顏色分量來產(chǎn)生新顏色。當(dāng)在紙面上涂上品紅油墨時,該紙面就不反射綠光;當(dāng)在紙面上涂上黃色油墨時,該紙面就不反射藍(lán)光;當(dāng)在紙面上涂上青色油墨時,該紙面就不反射紅光;如果在紙面上涂上了品紅油墨、黃色油墨和青色油墨,那么所有的紅光、綠光和藍(lán)光都被吸收,紙面呈現(xiàn)黑色。第8頁,共109頁,2024年2月25日,星期天910.1.2RGB顏色模型RGB顏色模型是顯示器的物理模型,無論軟件開發(fā)中使用何種顏色模型,只要是繪制到顯示器上,圖像最終是以RGB顏色模型表示的。黃(1,1,0)白(1,1,1)黑(0,0,0)紅(1,0,0)藍(lán)(0,0,1)綠(0,1,0)青(0,1,1)RGB單位立方體品紅(1,0,1)BGR第9頁,共109頁,2024年2月25日,星期天10classCRGBA{public: CRGBA(); virtual~CRGBA();public: doublered;//紅色分量

doublegreen;//綠色分量

doubleblue;//藍(lán)色分量doublealpha;//alpha分量

};分量取值范圍〔0,1〕第10頁,共109頁,2024年2月25日,星期天1110.1.3HSV顏色模型HSV顏色模型是一種直觀的顏色模型,包含三個要素:色調(diào)(hue)、飽和度(saturation)和明度(value)。色調(diào)H是一種顏色區(qū)別于其它顏色的基本要素,如紅、橙、黃、綠、青、藍(lán)、紫等,當(dāng)人們談?wù)擃伾珪r,實(shí)際上是指它的色調(diào),特別地,黑色和白色無色調(diào)。飽和度S是指顏色的純度。沒有與任何顏色相混合的顏色,其純度為全飽和。要想降低飽和度可以在當(dāng)前顏色中加入白色,鮮紅色飽和度高,粉紅色飽和度低。明度V是顏色的相對明暗程度。要想降低明度則可以在當(dāng)前顏色中加入黑色,明度最高得到純白,最低得到純黑。第11頁,共109頁,2024年2月25日,星期天12紅綠藍(lán)黃黑青白品紅圖10-3HSV正六邊形HSV模型是從RGB立方體演化而來。沿RGB立方體的主對角線由白色向黑色看去,在平面上的投影構(gòu)成一個正六邊形,RGB三原色和相應(yīng)的補(bǔ)色分別位于正六邊形的各個頂點(diǎn)上,其中紅色、綠色、藍(lán)色分別相隔120°,互補(bǔ)色相隔180°(紅色與青色、黃色與藍(lán)色、綠色與品紅分別相隔180°)第12頁,共109頁,2024年2月25日,星期天13看做二維圖,是個正六邊形第13頁,共109頁,2024年2月25日,星期天14紅綠藍(lán)黃黑青白品紅圖10-4HSV顏色模型SHV第14頁,共109頁,2024年2月25日,星期天15HSV圓錐HSV六棱錐第15頁,共109頁,2024年2月25日,星期天16圖10-5色澤、色深和色調(diào)的關(guān)系圖第16頁,共109頁,2024年2月25日,星期天17表10-1RGB和HSV的對應(yīng)關(guān)系圖10-5Photoshop軟件中表示的RGB模型和HSB模型的轉(zhuǎn)換第17頁,共109頁,2024年2月25日,星期天1810.1.4CMYK顏色模型CMY單位立方體MYC品紅(1,0,1)藍(lán)(0,0,1)紅(1,0,0)黑(0,0,0)黃(1,1,0)白(1,1,1)綠(0,1,0)青(0,1,1)第18頁,共109頁,2024年2月25日,星期天1910.1.4CMYK顏色模型CMYK也稱作印刷顏色模型,顧名思義就是用來印刷的。在印刷品上看到的圖像,就使用了CMYK模型。其中K表示黑色(black),之所以不使用黑色的首字母B,是為了避免與藍(lán)色(Blue)混淆。從理論上講,只需要CMY三種油墨就足夠了,濃度為100%的三種油墨加在一起就可以得到黑色。但是由于目前工藝還不能造出高純度的油墨,CMY相加的結(jié)果實(shí)際是一種“灰”黑色。同時,由于使用一種黑色油墨要比使用青色、品紅和黃色三種油墨便宜,所以黑色油墨被用于代替等量的青色、品紅和黃色油墨。這就是四色套印工藝采用的CMYK模型的理由。第19頁,共109頁,2024年2月25日,星期天20在圖像交付印刷的時候,一般需要把這四個通道的灰度圖制成膠片(稱為出片),然后制成硫酸紙等,再上印刷機(jī)進(jìn)行印刷。傳統(tǒng)的印刷機(jī)有4個印刷滾筒(形象比喻,實(shí)際情況有所區(qū)別),分別負(fù)責(zé)印制青色、品紅色、黃色和黑色。一張白紙進(jìn)入印刷機(jī)后要被印4次,先被印上圖像中青色的部分,再被印上洋紅色、黃色和黑色部分,順序如下圖:第20頁,共109頁,2024年2月25日,星期天21從上面的順序中,可以很明顯地感到各種油墨添加后的效果。在印刷過程中,紙張在各個滾筒間傳送,可能因?yàn)闊崦浝淇s或者其他的一些原因產(chǎn)生了位移,這可能使得原本該印上顏色的地方?jīng)]有印上。為了檢驗(yàn)印刷品的質(zhì)量,在印刷各個顏色的時候,都會在紙張空白的地方印一個+符號。如果每個顏色都套印正確,那么在最終的成品上只會看到一個+符號。如果有兩個或三個,就說明產(chǎn)生了套印錯誤,將會造成廢品。第21頁,共109頁,2024年2月25日,星期天22噴墨打印機(jī)不會產(chǎn)生套印錯誤,這是為什么呢?印刷機(jī)的紙張要進(jìn)出4個滾筒,套印錯誤就是在這進(jìn)出之間產(chǎn)生的。而噴墨打印機(jī)是一次性打印,所以不存在套印錯誤。噴墨打印機(jī)如何實(shí)現(xiàn)一次性打印呢?噴墨打印機(jī)的將多個噴嘴前后依次排列。這樣在打印的時候,紙張第一行先被噴上C,然后紙張向前移動一行,原先的第一行停在了M噴嘴下被噴上M色,同時新的空白的第二行被噴上C色。接著紙張再前移,已噴完C、M的那一行現(xiàn)在停在了Y色噴嘴下,被噴上Y色。而第二行被噴上M。新的空白第三行被噴上C。以此類推。如果在打噴墨打印機(jī)打印到一半的時取消打印,就會看到在圖像的邊緣分布著未完成的部分。第22頁,共109頁,2024年2月25日,星期天23第23頁,共109頁,2024年2月25日,星期天24既然噴墨打印機(jī)的原理并不復(fù)雜,為什么大型印刷機(jī)不采用這樣印刷方式呢?是因?yàn)檫@種打印方式速度很低,噴嘴在每行都需要有一個移動的過程,這需要時間,如果大幅面紙張耗時更久。而報紙等大量的印刷品都需要在短時間內(nèi)完成,所以這種打印方式是無能為力的。并且精度上也不及印刷機(jī)。因此,打印和印刷,這兩者是有很大區(qū)別的。打印一般數(shù)量很少,質(zhì)量和速度要求也不高。常見于個人及小型辦公使用。印刷則正相反。隨著印刷技術(shù)的進(jìn)步,現(xiàn)在很多中小型印刷廠都采用了四色印刷機(jī),降低了廢品率。第24頁,共109頁,2024年2月25日,星期天2510.2簡單光照模型光照是增強(qiáng)圖形真實(shí)感的重要技術(shù)。光照模型是根據(jù)光學(xué)物理的有關(guān)定律,計算在特定光源的照射下,物體表面上一點(diǎn)投向視點(diǎn)的光強(qiáng)。光線投射到物體表面時,可能被物體吸收、反射或透射(折射)。其中被吸收的入射光轉(zhuǎn)化為熱,其余部分則向四周反射或透射。朝向視點(diǎn)的反射光和透射光進(jìn)入視覺系統(tǒng),使物體可見。三維線框球面模型同色填充球面模型變色填充球面模型第25頁,共109頁,2024年2月25日,星期天26計算機(jī)圖形學(xué)的光照模型分為局部光照模型(localillumationmodel)和全局光照模型。局部光照模型僅考慮光源直接照射到物體表面所產(chǎn)生的效果,通常假設(shè)物體表面不透明且具有均勻的反射率。局部光照模型能表現(xiàn)出光源直接投射在漫反射物體表面上所形成的連續(xù)明暗色調(diào)、鏡面高光以及由于物體相互遮擋而形成的陰影。全局光照模型(Globalilluminationmodel)除了考慮上述因素外,還考慮周圍環(huán)境對物體表面的影響,采用RayTracing和Radiosity兩種技術(shù)來計算全局光照RayTracing,能模擬鏡面的映象、光的折射以及相鄰表面之間的色彩輝映等精確的光照效果。用于計算鏡面反射,燈光透過玻璃的效果和陰影,還有模擬精確的直接照射光產(chǎn)生的陰影。

簡單光照模型是局部光照模型的一種經(jīng)驗(yàn)?zāi)P停J(rèn)為鏡面反射與物體表面的材質(zhì)無關(guān)、物體的顏色由材質(zhì)的漫反射率決定。這使得所生成的圖像看上去像塑料,顯示不出磨亮的金屬光澤。第26頁,共109頁,2024年2月25日,星期天27簡單光照模型假定:光源為點(diǎn)光源,入射光僅由紅、綠、藍(lán)3種不同波長的光組成;點(diǎn)光源是對場景中比物體小得多的光源的最適合的逼近,如燈泡就是一個點(diǎn)光源。物體是非透明物體,物體表面所呈現(xiàn)的顏色僅由反射光決定,不考慮透射光的影響;只考慮反射不考慮透射。反射光被細(xì)分為漫反射光(diffuselight)和鏡面反射光(specularlight)兩種。簡單光照模型只考慮物體對直接光照的反射作用,而物體之間的反射作用,用環(huán)境光(ambientlight)常量統(tǒng)一表示。簡單光照模型分為環(huán)境光模型、漫反射光模型和鏡面反射光模型,全部屬于經(jīng)驗(yàn)?zāi)P汀:唵喂庹漳P捅硎緸椋?0-3)第27頁,共109頁,2024年2月25日,星期天2810.2.1材質(zhì)屬性

物體的材質(zhì)是指物體表面對光的吸收、反射和透射的性能。由于研究的是簡單局部光照模型,所以只考慮材質(zhì)的反射屬性。同光源一樣,材質(zhì)也由環(huán)境色、漫反射色和鏡面反射色等分量組成,分別說明了物體對環(huán)境光、漫反射光和鏡面反射光的反射率。

材質(zhì)決定物體的顏色,在進(jìn)行光照計算時,材質(zhì)對環(huán)境光的反射率與光源的環(huán)境光分量相結(jié)合,對漫反射光的反射率與光源的漫反射光分量相結(jié)合,對鏡面光的反射率與光源的鏡面反射光分量相結(jié)合。由于鏡面反射光影響范圍很小,而環(huán)境光是常數(shù),所以物體的顏色由材質(zhì)的漫反射率決定。第28頁,共109頁,2024年2月25日,星期天圖9-11材質(zhì)漫反射光反射率對物體顏色影響效果圖(a)(1.0,0.5,0.0)(b)(1.0,0.0,0.5)(c)(0.5,1.0,0.0)(d)(0.5,0.0,1.0)(e)(0.0,1.0,0.5)(f)(0.0,0.5,1.0)29第29頁,共109頁,2024年2月25日,星期天30

(a)金(b)銀(c)紅寶石(d)綠寶石圖14球面材質(zhì)第30頁,共109頁,2024年2月25日,星期天3110.2.2環(huán)境光模型環(huán)境光是環(huán)境中其它物體散射到物體表面后再反射出來的光。由周圍物體多次反射所產(chǎn)生的環(huán)境光來自周圍各個方向,又均勻地向各個方向反射。圖10-9環(huán)境光幾何表示環(huán)境光的反射光強(qiáng)Ie可表示為,0.0≤ka≤1.0

(10-4)Ia為來自周圍環(huán)境的光強(qiáng)第31頁,共109頁,2024年2月25日,星期天3210.2.3漫反射光模型漫反射光是從一點(diǎn)照射,均勻地向各個方向散射,因此漫反射光與視點(diǎn)無關(guān)。Lambert(1728~1777)圖10-10漫反射光幾何表示

Lambert余弦定律:0.0≤θ≤π/2,0.0≤kd≤1.0(10-5)第32頁,共109頁,2024年2月25日,星期天33(10-6)式中,L,N為單位矢量??紤]到點(diǎn)光源位于P點(diǎn)的背面時,L·N計算結(jié)果為負(fù)值,應(yīng)取為零,有(10-7)10.2.4鏡面反射光模型鏡面反射光是只朝一個方向反射的光,具有很強(qiáng)的方向性,并遵守反射定律。鏡面反射光會在光滑物體表面形成一片非常亮的區(qū)域,稱為高光(hilight)區(qū)域。第33頁,共109頁,2024年2月25日,星期天34BuiTuongPhong

wasa

Vietnamese-born

computergraphics

researcherandpioneer.Phongwasbornin

Hanoi,Vietnam.HewenttoFrancein1964andwasadmittedtotheGrenobleInstituteofTechnology

.Hecametothe

UniversityofUtahCollegeofEngineering

inSeptember1971asaresearchassistantinComputerScienceandhereceivedhisPh.D.fromtheUniversityofUtahin1973.Phongknewthathewasterminallyillwith

leukemia

whilehewasastudent.In1975,afterhistenureattheUniversityofUtah,Phongjoined

StanfordUniversity

asaprofessor.Hediednotlongafterfinishinghisdissertation.Phongandhiswifehadonedaughter.第34頁,共109頁,2024年2月25日,星期天35AccordingtoProfessor

IvanSutherland

andPhong'sfriends,Phongwasintelligent,affableandmodest.Abouthisworkincomputergeneratedimages,heremarked,"Wedonotexpecttobeabletodisplaytheobjectexactlyasitwouldappearinreality,withtexture,overcastshadows,etc.Wehopeonlytodisplayanimagethatapproximatestherealobjectcloselyenoughtoprovideacertaindegreeofrealism."Phongwastheinventorofthe

Phongreflectionmodel

andthe

Phongshading

interpolationmethod,techniqueswidelyusedincomputergraphics.BuiTuongpublishedthedescriptionofthealgorithmsinhis1973PhDdissertationanda1975paper.Hedevelopedthefirstalgorithmforsimulatingspecular

phenomena.Whenworkingonhisdoctorate,hewasveryfocusedonselectingatopicandcompletinghisdissertationveryfast.Professor

DavidC.Evans

veryenthusiasticallysupportedhiminthisproject.Professor

IvanSutherland

workedwithhimforimprovingthepreviousMachbanding

problems,andonusingnormals

forshading.第35頁,共109頁,2024年2月25日,星期天36圖10-11鏡面反射光幾何表示Phong反射模型:0.0≤ks≤1.0,0.0≤α≤π/2(10-8)第36頁,共109頁,2024年2月25日,星期天37圖10-10高光指數(shù)的分布函數(shù)n=1n=20n=2第37頁,共109頁,2024年2月25日,星期天38第38頁,共109頁,2024年2月25日,星期天39在簡單光照模型中,鏡面反射光顏色和入射光顏色相同,也即鏡面反射光只反映光源的顏色。在白光的照射下,物體的高光區(qū)域顯示白色;在紅光的照射下,物體的高光區(qū)域顯示紅色。鏡面光反射率ks是一個與物體顏色無關(guān)的參數(shù)。(10-9)

鏡面反射光光強(qiáng)不僅取決于物體表面的法線方向,而且依賴于光源和視點(diǎn)的相對位置。只有當(dāng)視點(diǎn)位于比較合適的位置時,才可以觀察到物體表面某些區(qū)域呈現(xiàn)出高光,當(dāng)視點(diǎn)位置改變時,高光區(qū)域也會隨之消失。

圖10-13“物體不動,旋轉(zhuǎn)視點(diǎn)”的光照動畫第39頁,共109頁,2024年2月25日,星期天40Blinn(1948~)Blinn于1977年對Phong的鏡面反射模型做了改進(jìn),使用平分矢量H加速計算。(10-11)(10-12)考慮β>90°時,H·N計算結(jié)果為負(fù)值,應(yīng)取為零,有(10-13)第40頁,共109頁,2024年2月25日,星期天41這樣考慮環(huán)境光、漫反射光和鏡面反射光且只有一個點(diǎn)光源的簡單光照模型為(10-14)10.2.5光強(qiáng)衰減入射光的光強(qiáng)隨著光源與物體之間距離的增加而減弱,強(qiáng)度則按照光源到物體距離(d)的1/d2進(jìn)行衰減(10-15)

d為光矢量L的模長。第41頁,共109頁,2024年2月25日,星期天42考慮光強(qiáng)衰減的單光源簡單光照模型為(10-16)如果場景中有多個點(diǎn)光源,簡單光照模型表示為(10-17)第42頁,共109頁,2024年2月25日,星期天4310.2.6增加顏色由于計算機(jī)中采用的是RGB顏色模型,因此需要為顏色的紅、綠、藍(lán)3個分量分別建立光照模型。(10-23)計算所得的顏色要?dú)w一化到區(qū)間[0,1]后,才能在RGB顏色模型中正確顯示。第43頁,共109頁,2024年2月25日,星期天4410.3光滑著色10.3.1直線段的光滑著色如果直線段的斜率,y方向?yàn)橹魑灰品较颍?0-25)如果,則x方向?yàn)橹魑灰品较?,有?0-26)第44頁,共109頁,2024年2月25日,星期天45

圖10-15光滑著色直線

圖10-16雙光源球面線框光照模型第45頁,共109頁,2024年2月25日,星期天4610.3.2Gouraud明暗處理先計算物體表面多邊形各頂點(diǎn)的平均法矢量,然后調(diào)用簡單光照模型計算各頂點(diǎn)的光強(qiáng),多邊形內(nèi)部各點(diǎn)的光強(qiáng)則通過對多邊形頂點(diǎn)光強(qiáng)的雙線性插值得到。Gouraud(1944~)高洛德圖10-19Gouraud雙線性光強(qiáng)插值模型第46頁,共109頁,2024年2月25日,星期天47

圖10-21立方體顏色填充(a)平面著色(b)Gouraud光滑著色第47頁,共109頁,2024年2月25日,星期天48Gouraud明暗處理的實(shí)現(xiàn)步驟如下:(1)計算多邊形頂點(diǎn)的平均法矢量。

圖10-22計算共享頂點(diǎn)P的三角形面片的法矢量第48頁,共109頁,2024年2月25日,星期天(2)對多邊形網(wǎng)格的每個頂點(diǎn)根據(jù)簡單光照模型計算光強(qiáng)。(3)根據(jù)每個多邊形網(wǎng)格的頂點(diǎn)的光強(qiáng),按照掃描線順序使用線性插值計算多邊形網(wǎng)格邊上每一點(diǎn)的光強(qiáng)。(4)在掃描線與多邊形相交區(qū)間內(nèi),使用線性插值獲得區(qū)間內(nèi)每一點(diǎn)的光強(qiáng)。然后再將光強(qiáng)分解為該點(diǎn)的RGB顏色。Gouraud明暗處理存在的缺陷:(1)使用Gouraud雙線性光強(qiáng)插值實(shí)現(xiàn)相鄰多邊形之間的光滑過渡時,由于采用了光強(qiáng)插值,高光區(qū)域的多邊形邊界明顯,馬赫帶效應(yīng)沒有完全消除。(2)鏡面反射的高光區(qū)域只能在最小面片的周圍形成,不能在面片的內(nèi)部形成,導(dǎo)致Gouraud明暗處理生成的高光區(qū)域明顯大于Phong明暗處理生成的高光區(qū)域。第49頁,共109頁,2024年2月25日,星期天

物體是使用平面多邊形逼近的。上圖光滑的效果是通過增加多邊形數(shù)量來獲得的么?設(shè)計目標(biāo):使用有限多邊形來獲得光滑表面,如何實(shí)現(xiàn)?

第50頁,共109頁,2024年2月25日,星期天

Gouraud插值算法使得圖形變得光滑,主要原因是使用了相鄰兩個面的平均法矢量計算過渡光強(qiáng),實(shí)現(xiàn)了“使用有限多邊形構(gòu)造光滑表面”的設(shè)計目標(biāo)。

Gouraud著色Flat著色

Gouraud著色Flat著色

有限網(wǎng)格有限網(wǎng)格平均法矢量的作用第51頁,共109頁,2024年2月25日,星期天52圖10-23環(huán)境光模型圖10-24環(huán)境光+漫反射光模型圖10-25簡單光照模型圖10-26“綠寶石”材質(zhì)簡單光照模型第52頁,共109頁,2024年2月25日,星期天5310.3.3Phong明暗處理先計算多邊形網(wǎng)格的每個頂點(diǎn)的平均法矢量,然后使用雙線性插值計算多邊形內(nèi)部各點(diǎn)的法矢量。最后才使用多邊形網(wǎng)格上各點(diǎn)的法矢量調(diào)用簡單光照模型計算其所獲得的光強(qiáng)。Phong明暗處理的實(shí)現(xiàn)步驟如下:(10-32)⑴計算多邊形頂點(diǎn)的平均法矢量。第53頁,共109頁,2024年2月25日,星期天54⑵線性插值計算多邊形內(nèi)部各點(diǎn)的法矢量。圖10-29Phong雙線性法矢插值模型雙線性法矢插值的計算公式與光強(qiáng)插值的類似,只是將其中的光強(qiáng)項用法矢項代替。第54頁,共109頁,2024年2月25日,星期天55⑶對多邊形內(nèi)的每一點(diǎn)使用法矢量調(diào)用簡單光照模型計算光強(qiáng),然后再將光強(qiáng)分解為該點(diǎn)的RGB顏色。Phong明暗處理優(yōu)點(diǎn):可以產(chǎn)生正確的高光區(qū)域。Phong明暗處理缺點(diǎn):既要通過三角形網(wǎng)格各頂點(diǎn)的法矢量來插值計算多邊形內(nèi)各點(diǎn)的法矢量,還要調(diào)用光照模型計算其光強(qiáng),計算時間是Gouraud明暗處理的6~8倍。(a)Flat(b)Gouraud(c)Phong

圖10-30球面著色模式效果圖第55頁,共109頁,2024年2月25日,星期天5610.4簡單透明模型,t∈〔0,1〕(10-36)

簡單透明模型是不考慮折射的影響的經(jīng)驗(yàn)?zāi)P汀T撃P秃唵蔚貙⑽矬w1上各像素處的光強(qiáng)與其后的另一個物體2上相應(yīng)像素處的光強(qiáng)作線性插值以確定物體1上各像素最終顯示的光強(qiáng)。式中,I1為物體1上某一像素的光強(qiáng),I2為物體2上相應(yīng)像素的光強(qiáng)。t為透明度,其值通常取自CRGB類的alpha分量。當(dāng)t=1.0時,物體1透明,可以完全看到物體2;當(dāng)t=0.0時,物體1完全不透明,物體2被物體1遮擋。當(dāng)t的取值位于[0.0,1.0]內(nèi)時,如t=0.5,物體的最終顏色是物體1的顏色與物體2的顏色的線性融合,即物體1的顏色與物體2的顏色各占50%。假定物體2不透明,物體1的透明度的變化如圖10-31所示。第56頁,共109頁,2024年2月25日,星期天57顏色化:(10-37)在黑色場景中放置物體A和物體B,物體A為綠色立方體,物體B為黃色球體,球體內(nèi)置于立方體中心。為了演示透明效果,立方體只繪制5個表面,另一個表面作為“開窗”。在黑色場景中繪制兩兩正交的紅綠藍(lán)玻璃片,效果如圖10-32所示。簡單透明模型的優(yōu)點(diǎn)是計算簡單,但只能模擬透明效果,不能模擬光的折射效果。計算機(jī)圖形學(xué)中也常用簡單透明模型模擬霧效果,使遠(yuǎn)處的物體看上去逐漸變得模糊,從而增加場景的真實(shí)感。第57頁,共109頁,2024年2月25日,星期天58

圖10-31t=0.5的透明立方體與內(nèi)置球體

(a)t=0.0(b)t=0.6

圖10-32正交玻璃片紅色球+綠色盒子第58頁,共109頁,2024年2月25日,星期天5910.5簡單陰影模型自然界中,物體只要受到光照,就會產(chǎn)生陰影。陰影效果對增強(qiáng)場景的真實(shí)感有著非常重要的作用。陰影可以反映物體之間的相對位置,增強(qiáng)場景的立體感和層次感。陰影是由于物體截斷了光線而產(chǎn)生的,如果光源位于物體的一側(cè),陰影總是位于物體的另一側(cè),也就是與光源相反的一側(cè)。如果視點(diǎn)和光源在同一方向上,得不到光照的陰影面同時又是看不到的隱藏面,不會有陰影。第59頁,共109頁,2024年2月25日,星期天60物體的多邊形表面,如果在陰影區(qū)域內(nèi)部,則該多邊形的光強(qiáng)就只有環(huán)境光一項;否則就用正常的光照模型計算光強(qiáng)。采用這種簡單的方法,就可以將陰影引入簡單光照模型中,使產(chǎn)生的真實(shí)感圖形更具有層次感。

對于單點(diǎn)光源,陰影算法與隱面算法相似。隱面算法確定哪些表面從視點(diǎn)看過去是不可見的,而陰影算法確定哪些表面從光源看過去是不可見的。從光源位置看過去不可見的區(qū)域就是陰影區(qū)域。計算陰影相當(dāng)于兩次消隱過程。

在單點(diǎn)光源的照射下,陰影分為自身陰影與投射陰影。假設(shè)單點(diǎn)光源位于立方體左面的無窮遠(yuǎn)處,視點(diǎn)位于立方體前方。這時產(chǎn)生的陰影包括兩個部分:一部分是由于物體自身的遮擋而使光線照射不到它的某些表面產(chǎn)生自身陰影;另一部分是由于不透明的物體遮擋光線使得位于物體另一側(cè)的區(qū)域受不到光照而形成投射陰影。第60頁,共109頁,2024年2月25日,星期天61圖10-34陰影的分類投射陰影自身陰影第61頁,共109頁,2024年2月25日,星期天62繪制自身陰影與投射陰影圖形的算法如下:(1)根據(jù)視點(diǎn)原來的觀察位置,對物體實(shí)施隱面算法,使用正常的光照模型計算光強(qiáng)來繪制可見表面。(2)將視點(diǎn)移到光源的位置。從光源處向物體所有背光面投射光線,建立光線的參數(shù)方程,計算該光線與投影面(地面)的交點(diǎn),使用深灰色填充交點(diǎn)所構(gòu)成的陰影多邊形,形成投射陰影。若選用簡單光照模型,對于背光面,由于得不到光源的直接照射,只有環(huán)境光對其光強(qiáng)有貢獻(xiàn)。第62頁,共109頁,2024年2月25日,星期天63圖10-35光照立方體產(chǎn)生的陰影第63頁,共109頁,2024年2月25日,星期天我有一所房子,面朝大海,春暖花開

6410.6紋理映射現(xiàn)實(shí)世界中的物體表面存在豐富的紋理細(xì)節(jié),人們正是依據(jù)這些紋理細(xì)節(jié)來區(qū)分各種具有相同形狀的物體。

圖10-33為場景添加紋理細(xì)節(jié)(b)紋理映射場景(a)空白場景第64頁,共109頁,2024年2月25日,星期天65

為物體表面添加紋理的技術(shù)稱為紋理映射(texturemapping)。紋理映射是將紋理空間(texturespace)坐標(biāo)(u,v)映射為物體空間(objectspace)坐標(biāo)(x,y,z),再進(jìn)一步映射為屏幕圖像空間(screenspace)二維物體表面坐標(biāo)(x,y)的過程,如圖10-37所示。(a)紋理空間(b)物體空間(c)圖像空間10-37紋理映射第65頁,共109頁,2024年2月25日,星期天66當(dāng)什么屬性發(fā)生改變時,可以產(chǎn)生紋理效果呢?

漫反射光模型主要產(chǎn)生紋理效果。當(dāng)光源的位置不變時,單位光矢量L是一個定值。影響光強(qiáng)的只有漫反射系數(shù)kd和單位法矢量N的方向。EdwinEarlCatmull1974年,Catmull首先采用二維圖像來定義物體表面材質(zhì)的漫反射系數(shù)kd,這種紋理被稱為顏色紋理。1978年,Blinn提出了在光照模型中適當(dāng)擾動物體表面的單位法矢量N的方向產(chǎn)生表面凹凸紋理的方法,被稱為幾何紋理。第66頁,共109頁,2024年2月25日,星期天67

JimBlinn,全名JamesF.Blinn,世界圖形學(xué)先驅(qū)。曾榮獲Siggraph年度計算機(jī)圖形學(xué)成就獎。系微軟公司研究所圖形學(xué)研究員。凸凹紋理映射:由JimBlinn發(fā)明,用法向擾動技術(shù)模擬帶褶皺的曲面。Bumpmapping最初由JimBlinn在1978年發(fā)明。第67頁,共109頁,2024年2月25日,星期天68顏色紋理映射可以有兩種實(shí)現(xiàn)方法,一種方法是直接用紋理的顏色替代物體表面的顏色。在這種情況下,不必進(jìn)行光照計算。另一種方法是紋理數(shù)據(jù)參加光照計算。在這種情況下,物體表面的紋理會顯示光照效果,但這會影響到鏡面高光效果。因?yàn)殓R面反射光的顏色是由光源顏色決定的,而與物體本身材質(zhì)顏色無關(guān)。處理方法是將鏡面反射光分離出來,通過設(shè)置材質(zhì)漫反射系數(shù)kd完成紋理映射后,再將鏡面反射光分量加上去。第68頁,共109頁,2024年2月25日,星期天6910.6.1顏色紋理

通過顏色變化表現(xiàn)出來的表面細(xì)節(jié),稱為顏色紋理。顏色紋理難以直接構(gòu)造,常采用函數(shù)紋理或圖像紋理來描述表面細(xì)節(jié)。為了使映射在物體表面的顏色紋理不因物體位置的改變而漂移,需要將顏色紋理綁定到物體的表面上。一般采用物體表面的參數(shù)化方法來確定表面的紋理坐標(biāo)。

木紋大理石包裝盒第69頁,共109頁,2024年2月25日,星期天70函數(shù)紋理紋理一般定義在單位正方形區(qū)域(0≤u≤1,0≤v≤1),稱為紋理空間。理論上,任何定義在此空間內(nèi)的函數(shù)都可以作為紋理函數(shù),實(shí)際上,常采用一些特殊的函數(shù)來模擬現(xiàn)實(shí)世界中存在的紋理,如國際象棋棋盤紋理函數(shù)、粗布紋理函數(shù)等

。(1)國際象棋棋盤紋理函數(shù)(10-38)其中,0<a<b<1,表示不大于x的最大整數(shù)。a和b是RGB宏的顏色分量。第70頁,共109頁,2024年2月25日,星期天71

(a)a=0.9,b=0.1(b)a=0.1,b=0.9(c)a=1.0,b=0.0(d)a=0.0,b=1.0第71頁,共109頁,2024年2月25日,星期天72doublea,b;for(doubleu=0.0;u<=1.0;u+=0.001)for(doublev=0.0;v<=1.0;v+=0.001){

if(0==(int(floor(u*8))+int(floor(v*8)))%2)//偶數(shù)

{ a=0.9; pDC->SetPixelV(Round(u*500-250),Round(v*500-250),RGB(a*255,a*255,a*255)); } else { b=0.1; pDC->SetPixelV(Round(u*500-250),Round(v*500-250),RGB(b*255,b*255,b*255)); }}第72頁,共109頁,2024年2月25日,星期天73(2)粗布紋理函數(shù)

(10-39)式中,A為[0,1]上的隨機(jī)變量,p,q為頻率系數(shù)。

(a)p=100,q=100(b)p=50,q=100(c)p=100,q=50圖10-40粗布紋理第73頁,共109頁,2024年2月25日,星期天74voidCTestView::OnDraw(CDC*pDC){ CTestDoc*pDoc=GetDocument(); ASSERT_VALID(pDoc);

//TODO:adddrawcodefornativedatahere CRectrect; GetClientRect(&rect); pDC->SetMapMode(MM_ANISOTROPIC); pDC->SetWindowExt(rect.Width(),rect.Height()); pDC->SetViewportExt(rect.Width(),-rect.Height()); pDC->SetViewportOrg(rect.Width()/2,rect.Height()/2); doublep=100,q=100; for(doubleu=0.0;u<=1.0;u+=0.001) for(doublev=0.0;v<=1.0;v+=0.001) { doubleA=double(rand())/RAND_MAX; doublef=A*(cos(p*u)+cos(q*v)); pDC->SetPixelV(Round(u*500-250),Round(v*500-250),RGB(f*255,f*255,f*255)); }}第74頁,共109頁,2024年2月25日,星期天75(3)立方體表面紋理映射立方體表面進(jìn)行紋理映射的變換矩陣為

圖10-41二維函數(shù)紋理圖10-42立方體的一個三維表面第75頁,共109頁,2024年2月25日,星期天76,,,,將立方體表面上的一點(diǎn)P(x,y,z)表達(dá)為(u,v)的參數(shù)形式,解得第76頁,共109頁,2024年2月25日,星期天77

圖10-43立方體函數(shù)紋理映射(a)國際象棋棋盤函數(shù)紋理(b)粗布函數(shù)紋理第77頁,共109頁,2024年2月25日,星期天78(4)圓柱面函數(shù)紋理映射高度為h、截面半徑為r、三維坐標(biāo)系原點(diǎn)位于底面中心。圓柱面的參數(shù)方程為(10-43)第78頁,共109頁,2024年2月25日,星期天79圓柱面的uv化表示為(10-45)

圖10-45圓柱面函數(shù)紋理映射第79頁,共109頁,2024年2月25日,星期天80(5)圓錐面函數(shù)紋理映射高度為h,底面半徑為r,三維坐標(biāo)系原點(diǎn)位于底面中心的圓錐面的參數(shù)方程為(10-46)圓錐面?zhèn)让嬲归_圖是扇形,通過下述線性變換將紋理空間[0,1]×[0,1]與物體空間[0,2π]×[0,1]等同起來。(10-47)第80頁,共109頁,2024年2月25日,星期天81圓錐面的uv化表示為(10-48)圖10-46圓錐面函數(shù)紋理映射第81頁,共109頁,2024年2月25日,星期天82

(6)球面函數(shù)紋理映射球心位于三維坐標(biāo)系原點(diǎn),半徑為r的球面參數(shù)方程為(10-49)球面是二次曲面,通過下述線性變換將紋理空間[0,1]×[0,1]與物體空間[0,2π]×[0,π]等同起來。球面的uv化表示為(10-50)(10-51)第82頁,共109頁,2024年2月25日,星期天83

圖10-47球面函數(shù)紋理映射第83頁,共109頁,2024年2月25日,星期天84(7)圓環(huán)面函數(shù)紋理映射圓環(huán)中心位于三維坐標(biāo)系原點(diǎn),半徑為r1和r2的圓環(huán)面的參數(shù)方程為(10-52)圓環(huán)面是二次曲面,通過下述線性變換將紋理空間[0,1]×[0,1]與物體空間[0,2π]×[0,2π]等同起來。(10-53)圓環(huán)面的uv化表示為(10-54)第84頁,共109頁,2024年2月25日,星期天85

圖10-48圓環(huán)面函數(shù)紋理映射第85頁,共109頁,2024年2月25日,星期天862.圖像紋理函數(shù)紋理是使用數(shù)學(xué)方法定義的簡單二維紋理圖案,這種紋理規(guī)則而單調(diào)。為了增強(qiáng)紋理的表現(xiàn)力,一個自然的想法是將一幅來自數(shù)碼相機(jī)的二維圖像作為紋理映射到物體上。圖像紋理映射需要建立物體表面上每一采樣點(diǎn)與已知圖像上各點(diǎn)(稱為紋素,texel)的對應(yīng)關(guān)系,取圖像上點(diǎn)的顏色值作為物體表面上采樣點(diǎn)的顏色值,然后采用光照模型來計算該點(diǎn)處的光強(qiáng)。圖像紋理映射既可以采用將圖像紋理綁定到物體頂點(diǎn)上的方式實(shí)現(xiàn)也可以采用將圖像紋理綁定到表面上的方式實(shí)現(xiàn)。前者一般用于映射單幅圖像,僅需要正確處理圖像接縫,后者一般用于映射多幅圖像。第86頁,共109頁,2024年2月25日,星期天87toprightfrontbackleftbottom對于立方體,由于使用6幅圖像紋理,一般采用綁定到表面上的方式實(shí)現(xiàn)。讀入立方體6個表面所對應(yīng)的位圖的代碼如下:第87頁,共109頁,2024年2月25日,星期天88第88頁,共109頁,2024年2月25日,星期天89圖10-50立方體圖像紋理映射效果圖八面體貼圖第89頁,共109頁,2024年2月25日,星期天90圓柱面、圓錐面、球面和圓環(huán)面僅使用一幅位圖就可以實(shí)現(xiàn)圖像紋理映射,一般采用綁定到物體頂點(diǎn)上的方式實(shí)現(xiàn)。圓柱面圖像紋理映射效果如圖10-51所示。圓錐面圖像紋理映射效果如圖10-52所示。球面圖像紋理映射效果如圖10-53所示。圓環(huán)面圖像紋理映射效果如圖10-54所示。圖10-52圓錐面圖像紋理映射圖10-51圓柱面圖像紋理映射第90頁,共109頁,2024年2月25日,星期天91

圖10-54圓環(huán)面圖像紋理映射圖10-53球面圖像紋理映射(未進(jìn)行紋理反走樣處理)第91頁,共109頁,2024年2月25日,星期天9210.6.2三維紋理

由于紋理是二維的,而物體是三維的,很難在物體表面的連接處做到紋理自然過渡,極大地降低了圖形的真實(shí)感。假如在三維物體空間中,物體上的每一個點(diǎn)P(x,y,z)均有一個紋理值t(x,y,z),其值由紋理函數(shù)惟一確定。那么對于物體上的空間點(diǎn),就可以映射到一個定義了紋理函數(shù)的三維空間上了。由于三維紋理空間與物體空間維數(shù)相同,在進(jìn)行紋理映射時,只需把場景中的物體變換到紋理空間即可。1985年,Peachey用一種簡單的規(guī)則三維紋理函數(shù)首次成功地模擬了木制品的紋理效果。其基本思想是采用一組共軸圓柱面來定義三維紋理函數(shù),即把位于相鄰圓柱面之間的紋理函數(shù)值交替地取為明和暗。這樣物體上任一點(diǎn)的紋理函數(shù)值可根據(jù)它到圓柱軸線所經(jīng)過的圓柱面?zhèn)€數(shù)的奇偶性而取為明和暗。第92頁,共109頁,2024年2月25日,星期天93圖10-55共軸圓柱面的橫截面上述定義的木紋函數(shù)過于規(guī)范,Peachey引入了三個簡單的操作來克服這一缺陷:擾動(perturbing)對共軸圓柱面的半徑進(jìn)行擾動。扭曲(twisting)在圓柱軸向加一個扭曲量。傾斜(tilting)將圓柱面圓心沿木塊的截面傾斜。圖10-56共軸圓柱面坐標(biāo)系取共軸圓柱面的軸向?yàn)閥軸,橫截面為x和z軸,如圖10-56所示。則對于半徑為r1的圓柱,參數(shù)方程為第93頁,共109頁,2024年2月25日,星期天94若使用2sinαθ作為木紋的不規(guī)則生長擾動函數(shù),并在y軸方向附加的扭曲量,得到(10-55)式中:a,b為常數(shù),上式即為原半徑r1的圓柱面經(jīng)變形后為半徑r2的表面方程,最后使用三

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論