opengl圖形編程8顏色光照材質(zhì)(陳永強(qiáng))課件

opengl圖形編程8顏色光照材質(zhì)(陳永強(qiáng))課件

ID:1236173

大?。?02.50 KB

頁數(shù):44頁

時間:2017-11-09

opengl圖形編程8顏色光照材質(zhì)(陳永強(qiáng))課件_第1頁
opengl圖形編程8顏色光照材質(zhì)(陳永強(qiáng))課件_第2頁
opengl圖形編程8顏色光照材質(zhì)(陳永強(qiáng))課件_第3頁
opengl圖形編程8顏色光照材質(zhì)(陳永強(qiáng))課件_第4頁
opengl圖形編程8顏色光照材質(zhì)(陳永強(qiáng))課件_第5頁
資源描述:

《opengl圖形編程8顏色光照材質(zhì)(陳永強(qiáng))課件》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、1OpenGL圖形編程武漢紡織大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院授課教師:陳永強(qiáng)教授29.顏色/光照/材質(zhì)9.1顏色9.2光照9.3材質(zhì)9.4透明處理(混合)9.5紋理映射9.1顏色OpenGL顏色模式RGB(RGBA)模式在RGB模式下,所有的顏色定義全用R、G、B三個值來表示,有時也加上Alpha值(與透明度有關(guān)),即RGBA模式。顏色表模式在顏色表模式下,每一個象素的顏色是用顏色表中的某個顏色索引值表示,而這個索引值指向了相應(yīng)的R、G、B值。9.1顏色OpenGL顏色模式RGB(RGBA)模式用glColor*()來定義當(dāng)前顏色,其函數(shù)形式為:voidglColor

2、>(red,green,blue,alpha);函數(shù)名中的x表示參數(shù)的數(shù)目,當(dāng)它等于3的時候,三個參數(shù)分別代表R、G、B值,alpha值缺省為1.0;當(dāng)它等于4的時候,還包括了Alpha值,其范圍從0.0到1.0。函數(shù)名中的t指定參數(shù)數(shù)據(jù)的類型,可以取b、d、f、i、s、ub、ui或us,它們分別代表字節(jié)型、雙精度型、浮點(diǎn)型、整型、短整型、無符號字節(jié)型和無符號短整型。9.1顏色OpenGL顏色模式RGB(RGBA)模式常用的指定顏色的函數(shù)是glColor3f,其中每個顏色分量的值在[0.0,1.0]范圍內(nèi)。還有一個函數(shù)glColor3ub,這個版本使用的顏色分量的取值

3、范圍是0到255之間的無符號數(shù)。9.1顏色OpenGL顏色模式顏色表模式在顏色表模式(Color_IndexMode)下,可以調(diào)用glIndex*()函數(shù)從顏色表中選取當(dāng)前顏色,其函數(shù)形式為:voidglIndex{sifd}(TYPEc);voidglIndex{sifd}v(TYPE*c);參數(shù)值c用于設(shè)置當(dāng)前顏色索引值,即調(diào)色板號,若值大于顏色位面數(shù)時則取模。9.1顏色著色模型繪制線框或填充多邊形時,可用純色(恒定著色)和平滑(Gouraud著色)兩種著色模型。voidglShadeModel(GLenummode)參數(shù)mode?。杭兩獹L_SMOOTH(默認(rèn))

4、平滑GL_FLAT9.1顏色例子紅皮書smooth.c9.2光照場景中的光類型點(diǎn)光源全局光照添加光照步驟9.2光照場景中的光類型環(huán)境光(AmbientLight)散射光(DiffuseLight)鏡面光(SpecularLight)輻射光(EmittedLight)9.2光照場景中的光類型環(huán)境光環(huán)境光有光源,但是由于被周圍的環(huán)境,如地面、天空、墻壁等多次反射,變得無法確定其方向。環(huán)境光均勻地從周圍環(huán)境入射至景物表面并等量地向各個方向反射出去。一般說來,房間里的環(huán)境光成分要多些,戶外的相反要少得多,因?yàn)榇蟛糠止獍聪嗤姆较蛘丈?,而在戶外很少有其他物體反射的光。9.2光照

5、場景中的光類型散射光漫射光來自某個方向,它垂直于物體時比傾斜時更明亮。一旦它照射到物體上,則在各個方向上均勻地發(fā)散出去。于是,無論視點(diǎn)在哪里它都一樣亮。來自特定位置和特定方向的任何光,都可能有散射成分。9.2光照場景中的光類型鏡面光鏡面光也具有方向性,但被物體強(qiáng)烈地反射到另一個特定的方向。如一個點(diǎn)光源照射一個金屬球時會在球面上形成一塊特別亮的區(qū)域,呈現(xiàn)所謂“高光(Highlight)”,它是光源在金屬球面上產(chǎn)生的鏡面反射光。對于較光滑物體,其鏡面反射光的高光區(qū)域小而亮;相反,粗糙表面的鏡面反射光呈發(fā)散狀態(tài),其高光區(qū)域大而不亮。9.2光照場景中的光類型輻射光輻射光是最簡

6、單的一種光,它直接從物體發(fā)出并且不受任何光源影響。9.2光照場景中的光類型在OpenGL中,任何一種光源都由三種光照成分組成:環(huán)境光、散射光和鏡面光,當(dāng)然光源本身還有可能發(fā)出輻射光。光是一種波,而顏色僅僅是我們可以看見的一種光波,每種光照成分都是由RGBA值定義的。169.2光照點(diǎn)光源在OpenGL場景描述中可以包含多個點(diǎn)光源,光源的各種屬性設(shè)置使用下面的函數(shù)指定。voidglLight{if}(GLenumlight,GLenumpname,TYPEparam);voidglLight{if}v(GLenumlight,GLenumpname,TYPE*param)

7、;第一個參數(shù)是一個符號常數(shù),指定設(shè)置的是哪個光源的參數(shù)。第二個參數(shù)指定了設(shè)置的是哪一個參數(shù)。第三個參數(shù)是一個類型數(shù)組,用于指定相應(yīng)的參數(shù)。179.2光照pname取值默認(rèn)值含義GL_AMBIENT(0.0,0.0,0.0,1.0)光源中環(huán)境光分量GL_DIFFUSE(1.0,1.0,1.0,1.0)或(0.0,0.0,0.0,1.0)光源中漫反射光分量GL_SPECULAR(1.0,1.0,1.0,1.0)或(0.0,0.0,0.0,1.0)光源中鏡面光分量GL_POSITION(0.0,0.0,1.0,0.0)光源的坐標(biāo)位置GL_SPOT_DIRE

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。