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