基于vc++的opengl編程

基于vc++的opengl編程

ID:13784288

大小:87.50 KB

頁數(shù):6頁

時間:2018-07-24

基于vc++的opengl編程_第1頁
基于vc++的opengl編程_第2頁
基于vc++的opengl編程_第3頁
基于vc++的opengl編程_第4頁
基于vc++的opengl編程_第5頁
資源描述:

《基于vc++的opengl編程》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、基于VC++的OpenGL編程講座之概述2005-08-2209:01作者:劉濤出處:天極網(wǎng)責(zé)任編輯:方舟〇、前言隨著計算機(jī)多媒體技術(shù)、可視化技術(shù)及圖形學(xué)技術(shù)的發(fā)展,我們可以使用計算機(jī)來精確地再現(xiàn)現(xiàn)實世界中的絢麗多彩的三維物體,并充分發(fā)揮自身的創(chuàng)造性思維,通過人機(jī)交互來模擬、改造現(xiàn)實世界,這就是目前最為時髦的虛擬現(xiàn)實技術(shù)。通過這種技術(shù),建筑工程師可以直接設(shè)計出美觀的樓房模型;軍事指揮員可以模擬戰(zhàn)場進(jìn)行軍事推演,網(wǎng)民可以足不出戶游覽故宮博物館等名勝古跡等。而虛擬現(xiàn)實技術(shù)最重要的一部分內(nèi)容就是三維圖形編程。當(dāng)前,三維圖形編程工具中最為突出的是SGI公司的OpenGL(Ope

2、nGraphicsLanguage,開放式的圖形語言),它已經(jīng)成為一個工業(yè)標(biāo)準(zhǔn)的計算機(jī)三維圖形軟件開發(fā)接口,并廣泛應(yīng)用于游戲開發(fā)、建筑、產(chǎn)品設(shè)計、醫(yī)學(xué)、地球科學(xué)、流體力學(xué)等領(lǐng)域。值得一提的是,雖然微軟有自己的三維編程開發(fā)工具DirectX,但它也提供OpenGL圖形標(biāo)準(zhǔn),因此,OpenGL可以在微機(jī)中廣泛應(yīng)用。目前,OpenGL在國內(nèi)外都掀起了熱潮,但國內(nèi)對這一領(lǐng)域介紹的資料并不是很多,特別是有志于在圖形圖像方面進(jìn)行深入研究的讀者朋友,常??嘤诓徽莆誒penGL編程接口技術(shù),無法向縱深領(lǐng)域擴(kuò)展。為了開啟三維圖形編程這扇神秘大門,本講座在結(jié)合OpenGL有關(guān)理論知識的基礎(chǔ)

3、上,著重介紹VisualC++6.0開發(fā)環(huán)境中的編程實現(xiàn),由于水平有限,本講座可能無法面面俱到,存在一些疏漏,但相信它可以將開啟"神秘大門"的鑰匙交給讀者朋友們。一、OpenGL的特點及功能OpenGL是用于開發(fā)簡捷的交互式二維和三維圖形應(yīng)用程序的最佳環(huán)境,任何高性能的圖形應(yīng)用程序,從3D動畫、CAD輔助設(shè)計到可視化訪真,都可以利用OpenGL高質(zhì)量、高性能的特點。OpenGL自1992年出現(xiàn)以來,逐漸發(fā)展完善,已成為一個唯一開放的,獨立于應(yīng)用平臺的圖形標(biāo)準(zhǔn),一個典型的OpenGL應(yīng)用程序可以在任何平臺上運行--只需要使用目標(biāo)系統(tǒng)的OpenGL庫重新編譯一下。OpenG

4、L非常接近硬件,是一個圖形與硬件的接口,包括了100多個圖形函數(shù)用來建立三維模型和進(jìn)行三維實時交互。OpenGL強(qiáng)有力的圖形函數(shù)不要求開發(fā)人員把三維物體模型的數(shù)據(jù)寫成固定的數(shù)據(jù)格式,也不要求開發(fā)人員編寫矩陣變換、外部設(shè)備訪問等函數(shù),大大地簡化了編寫三維圖形的程序。例如:1)OpenGL提供一系列的三維圖形單元(圖元)供開發(fā)者調(diào)用。2)OpenGL提供一系列的圖形變換函數(shù)。3)OpenGL提供一系列的外部設(shè)備訪問函數(shù),使開發(fā)者可以方便地訪問鼠標(biāo)、鍵盤、空間球、數(shù)據(jù)手套等外部設(shè)備。由于微軟在Windows中包含了OpenGL,所以O(shè)penGL可以與VisualC++緊密接合

5、,簡單快捷地實現(xiàn)有關(guān)計算和圖形算法,并保證算法的正確性和可靠性。簡單地說,OpenGL具有建模、變換、色彩處理、光線處理、紋理影射、圖像處理、動畫及物體運動模糊等功能:1、建模OpenGL圖形庫除了提供基本的點、線、多邊形的繪制函數(shù)外,還提供了復(fù)雜的三維物體,如球、錐、多面體、茶壺以及復(fù)雜曲線和曲面(例如Bezier、Nurbs等曲線或曲面)的繪制函數(shù)。2、變換OpenGL圖形庫的變換包括基本變換和投影變換?;咀儞Q有平移、旋轉(zhuǎn)、變比、鏡像四種變換,投影變換有平行投影(又稱正射投影)和透視投影兩種變換。3、顏色模式設(shè)置OpenGL顏色模式有兩種,即RGBA模式和顏色索引

6、(ColorIndex)。4、光照和材質(zhì)設(shè)置OpenGL光有輻射光(EmittedLight)、環(huán)境光(AmbientLight)、漫反射光(DiffuseLight)和鏡面光(SpecularLight)。材質(zhì)是用光反射率來表示??陀^世界中的物體最終反映到人眼的顏色是光的紅綠藍(lán)分量與材質(zhì)紅綠藍(lán)分量的反射率相乘后形成的顏色。5、紋理映射(TextureMapping)利用OpenGL紋理映射功能可以十分逼真地表達(dá)物體表面細(xì)節(jié)。6、位圖顯示和圖象增強(qiáng)OpenGL的圖象功能除了基本的拷貝和像素讀寫外,還提供融合(Blending)、反走樣(Antialiasing)和霧(f

7、og)的特殊圖象效果處理。以上三條可是被仿真物更具真實感,增強(qiáng)圖形顯示的效果。7、雙緩存動畫(DoubleBuffering)OpenGL使用了前臺緩存和后臺緩存交替顯示場景(Scene)技術(shù),簡而言之,后臺緩存計算場景、生成畫面,前臺緩存顯示后臺緩存已畫好的畫面。8、特殊效果利用OpenGL還能實現(xiàn)深度暗示(DepthCue)、運動模糊(MotionBlur)等特殊效果。運動模糊的繪圖方式(motion-blured),模擬物體運動時人眼觀察所感覺的動感現(xiàn)象。深度域效果(depth-of-effects),類似于照相機(jī)鏡頭效果,模型在聚

當(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ò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。