資源描述:
《計(jì)算機(jī)圖形學(xué)課程設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、《計(jì)算機(jī)圖形學(xué)》課程設(shè)計(jì)(2015----2016學(xué)年第二學(xué)期)學(xué)院專業(yè)班級(jí)學(xué)號(hào)學(xué)生姓名老師編寫(xiě)日期:2016年xx月xx日41/42目錄真實(shí)感游戲場(chǎng)景繪制3一實(shí)驗(yàn)?zāi)康?二實(shí)驗(yàn)內(nèi)容3三實(shí)驗(yàn)分工3四理論基礎(chǔ)41霧化模型42顏色模型53光照模型64紋理模型6五系統(tǒng)描述131墻壁、地面、箱子132石柱、雪人143玻璃球154天空17六心得體會(huì)19七附錄:程序源代碼1941/42計(jì)算機(jī)圖形學(xué)真實(shí)感游戲場(chǎng)景繪制【摘要】本次課程設(shè)計(jì)繪制了一個(gè)真實(shí)感的三維場(chǎng)景,并實(shí)現(xiàn)場(chǎng)景漫游。主要繪制了墻壁與地面、天空、石柱、箱子、玻璃球、雪人、霧等對(duì)象。以VisualStudio2012為平臺(tái)用OpenGL基礎(chǔ)知識(shí)實(shí)
2、現(xiàn)此真實(shí)感場(chǎng)景的繪制。一實(shí)驗(yàn)?zāi)康?.熟悉OpenGL基礎(chǔ)函數(shù),并了解其用法。2.通過(guò)程序模擬真實(shí)感游戲場(chǎng)景,掌握?qǐng)D形綜合展示效果,基于專業(yè)背景,結(jié)合實(shí)驗(yàn)課內(nèi)容與課程設(shè)計(jì)要求,使用OpenGL繪制簡(jiǎn)單的3D真實(shí)感游戲場(chǎng)景,包括光柵化算法、多邊形裁剪計(jì)算以及消隱算法在場(chǎng)景繪制中的應(yīng)用。二實(shí)驗(yàn)內(nèi)容和效果光柵化算法、多邊形裁剪計(jì)算以及消隱算法在場(chǎng)景繪制中的應(yīng)用,其中真實(shí)感場(chǎng)景繪制包括顏色模型、紋理模型、霧化模型、運(yùn)動(dòng)模型以及環(huán)境光、漫反射、鏡面反射等光照模型設(shè)置。圖1游戲場(chǎng)景整體效果41/42計(jì)算機(jī)圖形學(xué)一實(shí)驗(yàn)分工本次課程設(shè)計(jì)實(shí)驗(yàn),小組成員齊心協(xié)力。首先從自己嘗試編寫(xiě)沒(méi)有成功到后來(lái)的各種搜集資料,
3、尋找3D游戲場(chǎng)景的繪制代碼,到最后小組成員分工解析代碼并注釋,做PPT,演講PPT等,大家合作都很用心。這次的實(shí)驗(yàn)中我們小組每個(gè)成員在每一個(gè)環(huán)節(jié)都參與任務(wù),因代碼過(guò)多,也都參與到代碼解析中。具體安排如下:姓名任務(wù)xxx搜集資料,代碼解析注釋,做PPT,PPT演講xxx搜集資料,代碼解析并注釋,做PPT,PPT演講xxx搜集資料,代碼解析注釋,做PPT,PPT演講xxx搜集資料,代碼解析注釋,做PPT,PPT演講二理論基礎(chǔ)1霧化模型OpenGL中提供了完整的霧化接口,我們只需要選擇合適的霧氣的混合因子、密度、顏色、起始位置等。在OpenGL中,霧的工作模式有兩種:線性模式和指數(shù)模式。這兩種模
4、式是根據(jù)霧的濃度變化來(lái)區(qū)分的。在線性模式下,只需要提供一個(gè)距離視點(diǎn)的開(kāi)始位置和結(jié)束位置。從開(kāi)始位置到結(jié)束位置之間,霧的濃度越來(lái)越高,濃度的變化和距離成正比。在指數(shù)模式下,霧的濃度隨著距離的增加呈指數(shù)增長(zhǎng)。這種模式通常用來(lái)用于煙霧、煙幕等效果。glFogf(GL_FOG_START,1.0f)確定了霧的開(kāi)始初離屏幕有多近。glFogf(GL_FOG_END,5.0),它告訴OpenGL霧能離開(kāi)屏幕有多遠(yuǎn)glHint(GL_FOG_HINT,GL_DONT_CARE)確定了霧的渲染方式,使用GL_DONT_CARE是因?yàn)椴⒉魂P(guān)心建議值。這個(gè)項(xiàng)的不同值之間的區(qū)別: 41/42計(jì)算機(jī)圖形學(xué)GK_D
5、ONT_CARE:讓OPENGL自己來(lái)確定霧的渲染方式,每頂點(diǎn)或是每像素。GL_NICEST:對(duì)每一像素進(jìn)行霧的渲染,它看起來(lái)是極棒的。GL_FASTEST:對(duì)每一頂點(diǎn)進(jìn)行霧的渲染,它速度較快,但是不夠美麗我們的霧氣設(shè)置如下:修改函數(shù)里面的參數(shù)改變霧的顏色和濃度:圖2改變顏色(藍(lán)色)和濃度的霧氣1顏色模型OpenGL支持兩種顏色模式:一種是RGBA,一種是顏色索引模式。不同的是,RGBA模式中,數(shù)據(jù)直接就代表了顏色;而顏色索引模式中,數(shù)據(jù)代表的是一個(gè)索引,要得到真正的顏色,還必須去查索引表。RGBA顏色41/42計(jì)算機(jī)圖形學(xué)RGBA模式中,每一個(gè)像素會(huì)保存以下數(shù)據(jù):R值(紅色分量)、G值(
6、綠色分量)、B值(藍(lán)色分量)和A值(alpha分量)。其中紅、綠、藍(lán)三種顏色相組合,就可以得到我們所需要的各種顏色,而alpha不直接影響顏色。1光照模型光照模型包括許多因素,如物體的類型,物體相對(duì)光源與其他物體的位置以及場(chǎng)景中所設(shè)置的光源屬性,物體的透明度,物體的表面光亮程度,甚至物體的各種表面紋理等。光照到物體表面時(shí),物體對(duì)光會(huì)發(fā)生反射、透射、吸收、衍射、折射和干涉。通常觀察不透明、不發(fā)光的物體,人眼所觀察到的是從物體表面的得到的反射光,它是由場(chǎng)景中的光源和其他物體表面的反射光共同作用產(chǎn)生的。簡(jiǎn)單光照明模型模擬物體表面對(duì)直接光照的反射作用,包括鏡面反射和漫反射,而物體間的光反射作用沒(méi)有
7、被充分考慮到,僅僅用一個(gè)與物體周圍和視點(diǎn)、光源位置都無(wú)關(guān)的環(huán)境光常量來(lái)近似表示。可以用如下表達(dá)式表示:入射光=環(huán)境光+漫反射+鏡面反射光2紋理模型(因?yàn)槲覀兊膱?chǎng)景大量使用了紋理模型,且我主要也負(fù)責(zé)紋理模型,因此處會(huì)詳細(xì)解釋。)我們都知道物體表面通常并不是具有簡(jiǎn)單顏色的平滑面,而是有著花紋圖案等豐富細(xì)節(jié)的。計(jì)算機(jī)三維圖形通過(guò)給面貼紋理來(lái)表現(xiàn)表面細(xì)節(jié)。OpenGL默認(rèn)設(shè)置是關(guān)閉貼紋理的,所以必須先用命令打開(kāi)紋理計(jì)算。41/4