資源描述:
《OpenGL基礎(chǔ)圖形編程》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、OpenGL基礎(chǔ)圖形編程第一章OpenGL與3D圖形世界1.1>OpenGL使人們進(jìn)入三維圖形世界我們生活在一個(gè)充滿三維物體的三維i比界中,為了使計(jì)算機(jī)能粘:確地再現(xiàn)這些物體,我們必須能在三維空間描繪這些物體。我們又生活在一個(gè)充滿信息的世界屮,能否盡快地理解并運(yùn)用這些信息將直接影響事業(yè)的成敗,所以我們需要用一種域直接的形式來表示這些信息。最近兒年計(jì)算機(jī)圖形學(xué)的發(fā)展使得三維表現(xiàn)技術(shù)得以形成,這些三維表現(xiàn)技術(shù)使我們能夠再現(xiàn)三維壯界中的物體,能夠用三維形體來表示復(fù)雜的信息,這種技術(shù)就是可視化(Visiwli
2、創(chuàng)ion)技術(shù)??梢暬夹g(shù)使人能夠在三維圖形世界中直接對(duì)具有形體的信息進(jìn)行操作,和計(jì)算機(jī)直接交流。這種技術(shù)已經(jīng)把人和機(jī)器的力量以一種宜覺而自然的方式加以統(tǒng)一,這種革命性的變化無疑將極大地提高人們的工作效率。可視化技術(shù)賦予人們一種仿真的、三維的并且具有實(shí)時(shí)交互的能力,這樣人們可以在三維圖形世界中用以前不可想象的手段來獲取信息或發(fā)揮H己創(chuàng)造性的思維。機(jī)械工程師可以從二維平而圖屮得以解放肓接進(jìn)入三維世界,從而很快得到自己設(shè)計(jì)的三維機(jī)械零件模型。醫(yī)??梢詮牟∪说娜S掃描圖象分析病人的病灶。軍申指揮員可以面對(duì)用
3、三維圖形技術(shù)生成的戰(zhàn)場(chǎng)地形,指揮具有真實(shí)感的三維飛機(jī)、軍艦、坦克向目標(biāo)開進(jìn)并分析戰(zhàn)斗方案的效果。更令人驚奇的是日前正在發(fā)展的虛擬現(xiàn)實(shí)技術(shù),它能使人們進(jìn)入一個(gè)三維的、多媒體的虛擬世界,人們可以游歷遠(yuǎn)古時(shí)代的城堡,也可以遨游浩翰的太空。所冇這些都依賴于計(jì)算機(jī)圖形學(xué)、計(jì)算機(jī)可視化技術(shù)的發(fā)展。人們對(duì)計(jì)算機(jī)可視化技術(shù)的研究已經(jīng)歷了一個(gè)很長(zhǎng)的歷程,而且形成了許多可視化工具,其中SGI公司推出的GL三維圖形庫(kù)表現(xiàn)突出,易丁使用而且功能強(qiáng)大。利用GL開發(fā)出來的三維應(yīng)用軟件頗受許多專業(yè)技術(shù)人員的喜愛,這些三維應(yīng)用軟件已
4、涉及建筑、產(chǎn)品設(shè)計(jì)、醫(yī)學(xué)、地球科學(xué)、流體力學(xué)等領(lǐng)域。隨著計(jì)算機(jī)技術(shù)的繼續(xù)發(fā)展,GL己經(jīng)進(jìn)一步發(fā)展成為OpenGL,OpenGL已被認(rèn)為是高性能圖形和交互式視景處理的標(biāo)準(zhǔn),目詢包括ATT公司UNIX軟件實(shí)驗(yàn)室、IBM公司、DEC公司、SUN公司、HP公司、Microsoft公司和SGI公司在內(nèi)的兒家在計(jì)算機(jī)市場(chǎng)占領(lǐng)導(dǎo)地位的大公司都采用了OpenGL圖形標(biāo)準(zhǔn)。值得-提的是,由T"Microsoft公司在WindowsNT中提供OpenGL圖形標(biāo)準(zhǔn),OpenGL將在微機(jī)中廣泛應(yīng)用,尤其是OpenGL三維圖形
5、加速卡和微機(jī)圖形工作站的推出,人們可以在微機(jī)上實(shí)現(xiàn)三維圖形應(yīng)用,如CAD設(shè)汁、仿真模擬、三維游戲等,從而更有機(jī)會(huì)、更方便地使用0penGL及其應(yīng)用軟件來建立自己的三維圖形世界。1.2、OpenGL提供直觀的三維圖形開發(fā)環(huán)境OpenGL實(shí)際上是一種圖形與喚件的接口。它包括了120個(gè)圖形函數(shù),開發(fā)者?可以用這些函數(shù)來建立三維模型和進(jìn)行三維實(shí)時(shí)交互。與其他圖形程序設(shè)訃接口不同,OpenGL提供了十分淸晰明了的圖形函數(shù),因此初學(xué)的程序設(shè)計(jì)員也能利用OpenGL的圖形處理能力和167()萬種色彩的調(diào)色板很快地設(shè)
6、計(jì)出三維圖形以及三維交互軟件。OpenGL強(qiáng)有力的圖形函數(shù)不耍求開發(fā)者把三維物體模型的數(shù)據(jù)寫成固定的數(shù)據(jù)格式,這樣開發(fā)者不但可以直接使用自己的數(shù)據(jù),而且可以利用其他不同格式的數(shù)據(jù)源。這種靈活性極大地節(jié)省了開發(fā)者的時(shí)間,提高了軟件開發(fā)效益。長(zhǎng)期以來,從事三維圖形開發(fā)的技術(shù)人員都不得不在白己的程序中編寫矩陣變換、外部設(shè)備訪問等函數(shù),這樣為調(diào)制這些與自己的軟件開發(fā)忖標(biāo)關(guān)系并不十分密切的*1數(shù)費(fèi)腦筋,而OpenGL正是提供-種直觀的編程環(huán)境,它提供的一系列函數(shù)大大地簡(jiǎn)化了三維圖形程序。例如:OpenGL提供一
7、系列的三維圖形單元供開發(fā)者調(diào)用。OpenGL提供一系列的圖形變換函數(shù)。OpcnGL提供一系列的外部設(shè)備訪問前數(shù),使開發(fā)者可以方便地訪問鼠標(biāo)、鍵盤、空間球、數(shù)據(jù)手套等這種直觀的三維圖形開發(fā)環(huán)境體現(xiàn)了OpenGL的技術(shù)優(yōu)勢(shì),這也是許多三維圖形開發(fā)者熱衷于OpenGL的緣由所在。1.3、OpenGL成為目前三維圖形開發(fā)標(biāo)準(zhǔn)OpenGL成為目前三維圖形開發(fā)標(biāo)準(zhǔn)在計(jì)算機(jī)發(fā)展初期,人們就開始從爭(zhēng)計(jì)算機(jī)圖形的開發(fā)。直到計(jì)算機(jī)鎖軟件和計(jì)算機(jī)圖形學(xué)高度發(fā)達(dá)的九十年代,人們發(fā)現(xiàn)復(fù)雜的數(shù)據(jù)以視覺的形式表現(xiàn)時(shí)是最易理解的,因
8、而三維圖形得以迅猛發(fā)展,于是各種三維圖形工具軟件包相繼推出,如PHIGS>PEX、RcndcrMan等。這些三維圖形工具軟件包冇些側(cè)重于使用方便,冇些側(cè)重于渲染效果或與應(yīng)用軟件的連接,但沒冇一種三維工貝軟件包在交互式三維圖形建模能力、外部設(shè)備管理以及編程方便程度上能夠OpenGL和比擬。OpenGL經(jīng)過對(duì)GL的進(jìn)一步發(fā)展,實(shí)現(xiàn)二維和三維的高級(jí)圖形技術(shù),在性能上表現(xiàn)得異常優(yōu)越,它包括建模、變換、光線處理、色彩處理、動(dòng)畫以及更先進(jìn)的能力,如紋理彩射、物體運(yùn)動(dòng)