- 相關(guān)推薦
OpenGL for Windows NT及其程序設(shè)計(jì)
OpenGL是在SGI、Microsoft、DEC、IBM和Intel等多家世界著名計(jì)算機(jī)公司的倡導(dǎo)下,基于SGI的GL標(biāo)準(zhǔn),制定的一個(gè)通用共享的開(kāi)放式三維圖形標(biāo)準(zhǔn)。
前幾年,OpenGL雖然是開(kāi)放式的標(biāo)準(zhǔn),但是只能在具有UNIX操作系統(tǒng)的各種昂貴的工作站之間通用;盡管工作站上的OpenGL性能優(yōu)越、編程方便、生成圖形精美逼真,但是只有少數(shù)人能體會(huì)其中樂(lè)趣,而令大多數(shù)PC機(jī)用戶望塵莫及。隨著計(jì)算機(jī)技術(shù)的發(fā)展,工作站與PC機(jī)的性能日趨接近。Microsoft公司首先將OpenGL圖形庫(kù)鏈接到Windows NT中,目前又將OpenGL動(dòng)態(tài)庫(kù)掛到最新Windows 95上,這樣,廣大PC機(jī)用戶就可充分享受OpenGL的樂(lè)趣了。更令人高興的是,目前國(guó)內(nèi)外出現(xiàn)了專門(mén)對(duì)OpenGL進(jìn)行硬件加速的三維圖形加速卡。這樣,普通用戶只
要擁有一臺(tái)Pentium 90以上、16MB RAM、520MB以上硬盤(pán)容量的PC機(jī)以及一臺(tái)43cm以上的大屏幕監(jiān)視器和一塊OpenGL三維圖形加速卡組成的系統(tǒng),就能與圖形工作站相媲美,但價(jià)格卻便宜數(shù)十倍。
本文作者一直從事計(jì)算機(jī)圖形應(yīng)用開(kāi)發(fā)工作。原來(lái)是在SGI工作站上利用OpenGL開(kāi)發(fā)圖形程序,后來(lái)又首先在國(guó)內(nèi)第一塊三維圖形加速卡AGC-3D上基于Windows NT的Visual C 2.0環(huán)境下繼續(xù)進(jìn)行開(kāi)發(fā)。在開(kāi)發(fā)過(guò)程中,同一OpenGL程序幾乎不用修改就能在兩個(gè)平臺(tái)間來(lái)回移植,效果甚好。
一、OpenGL特點(diǎn)及功能
OpenGL是一個(gè)開(kāi)放的三維圖形軟件包,它獨(dú)立于窗口系統(tǒng)和操作系統(tǒng),能十分方便地在各平臺(tái)間移植。
OpenGL具有七大功能。
(1)建模 OpenGL圖形庫(kù)除了提供基本的點(diǎn)、線、多邊形的繪制函數(shù)外,還提供了復(fù)雜的三維物體(如球、錐、多面體、茶壺等)以及復(fù)雜曲線和曲面(如Bezier、Nurbs等曲線或曲面)繪制函數(shù)。
(2)變換 OpenGL圖形庫(kù)的變換包括基本變換和投影變換;咀儞Q有平移、旋轉(zhuǎn)、變比和鏡像四種變換,投影變換有平行投影(又稱正射投影)和透視投影兩種變換。
(3)顏色模式設(shè)置 OpenGL顏色模式有兩種,即RGBA模式和顏色索引(Color Index)。
(4)光照和材質(zhì)設(shè)置 OpenGL光有輻射光(Emitted Light)、環(huán)境光(AmbientLight)、漫反射光(Diffuse Light)和鏡面光(Specular Light)。材質(zhì)是用光反射率來(lái)表示。場(chǎng)景(Scene)中物體最終反映到人眼的顏色是光的紅綠藍(lán)分量與材質(zhì)紅綠藍(lán)分量的反射率相乘后形成的顏色。
(5)紋理映射(Texure Mapping) 利用OpenGL紋理映射功能可以十分逼真地表達(dá)物體表面細(xì)節(jié)。
(6)位圖顯示和圖像增強(qiáng) 圖像功能除了基本的拷貝和像素讀寫(xiě)外,還提供了融合(Blending)、反走樣(Antialiasing)和霧(fog)的特殊圖像效果處理。
(7)雙緩存(Double Buffering)動(dòng)畫(huà) 雙緩存即前臺(tái)緩存和后臺(tái)緩存,簡(jiǎn)而言之,后臺(tái)緩存計(jì)算場(chǎng)景、生成畫(huà)面,前臺(tái)緩存顯示后臺(tái)緩存已畫(huà)好的畫(huà)面。
此外,利用OpenGL還能實(shí)現(xiàn)深度暗示(Depth Cue)、運(yùn)動(dòng)模糊(Motion Blur)等特殊效果。
二、OpenGL for Windows NT圖形庫(kù)
OpenGL圖形庫(kù)一共有100多個(gè)函數(shù)。其中核心函數(shù)有115個(gè),它們是最基本的函數(shù),其前綴是gl;OpenGL實(shí)用庫(kù)(OpenGL utility library,GLU)的函數(shù)功能更高一些,如繪制復(fù)雜的曲線曲面、高級(jí)坐標(biāo)變換、多邊形分割等,共有43個(gè),前綴為glu
[1] [2] [3] [4] [5]
【OpenGL for Windows NT及其程序設(shè)計(jì)】相關(guān)文章:
OpenGL及其在DEM可視化中的應(yīng)用04-28
顯卡·什么是OpenGL04-26
基于Windows 2000的多路話音采集壓縮卡驅(qū)動(dòng)程序設(shè)計(jì)05-02
基于OpenGL的虛擬校園漫游系統(tǒng)的實(shí)現(xiàn)04-29
WINDOWS XP教案04-25
安裝Windows或啟動(dòng)Windows時(shí)鼠標(biāo)不可用06-20
windows及應(yīng)用實(shí)踐報(bào)告04-14
程序設(shè)計(jì)心得11-15