1. 程式人生 > >一個跨程式語言、跨平臺的程式設計介面規格的專業的圖形程式介面

一個跨程式語言、跨平臺的程式設計介面規格的專業的圖形程式介面

OpenGL(全寫Open Graphics Library)是個定義了一個跨程式語言、跨平臺的程式設計介面規格的專業的圖形程式介面。它用於三維影象(二維的亦可),是一個功能強大,呼叫方便的底層圖形庫。

OpenGL是一個開放的三維圖形軟體包,它獨立於視窗系統和作業系統,以它為基礎開發的應用程式可以十分方便地在各種平臺間移植;OpenGL可以與Visual C++緊密介面,便於實現機械手的有關計算和圖形演算法,可保證演算法的正確性和可靠性;OpenGL使用簡便,效率高。它具有七大功能: 1.建模:OpenGL圖形庫除了提供基本的點、線、多邊形的繪製函式外,還提供了複雜的三維物體(球、錐、多面體、茶壺等)以及複雜曲線和曲面繪製函式。 2.變換:OpenGL圖形庫的變換包括基本變換和
投影
變換。基本變換有平移、旋轉縮放映象四種變換,投影變換有平行投影(又稱正射投影)和透視投 影兩種變換。其變換方法有利於減少演算法的執行時間,提高三維圖形的顯示速度。 3.顏色模式設定:OpenGL顏色模式有兩種,即RGBA模式和顏色索引(Color Index)。 4.光照和材質設定:OpenGL光有自發光(Emitted Light)、環境光(Ambient Light)、漫反射光(Diffuse Light)和高光(Specular Light)。材質是用光反射率來表示。場景(Scene)中物體最終反映到人眼的顏色是光的紅綠藍分量與材質紅綠藍分量的反射率相乘後形成的顏色。 5:紋理對映
(Texture Mapping)。利用OpenGL紋理對映功能可以十分逼真地表達物體表面細節。 6:點陣圖顯示和圖象增強圖象功能除了基本的拷貝和畫素讀寫外,還提供融合(Blending)、抗鋸齒(反走樣)(Antialiasing)和霧(fog)的特殊圖象效果處理。以上三條可使被模擬物更具真實感,增強圖形顯示的效果。 7:雙快取動畫(Double Buffering)雙快取即前臺快取和後臺快取,簡言之,後臺快取計算場景、生成畫面,前臺快取顯示後臺快取已畫好的畫面。 此外,利用OpenGL還能實現深度暗示(Depth Cue)、運動模糊(Motion Blur)等特殊效果。從而實現了消隱演算法。OpenGL裝置運用,目前瑞芯微2918晶片和英偉達晶片Tegra2 就是採用OpenGL 2.0技術進行圖形處理,而基於瑞芯微2918晶片方案代表是臺電T760和微蜂X7平板電腦所採用到。