OpenGL™ 是行業領域中最爲
普遍接納的 2D/3D 圖形
API,其自誕生至今已催生了各類計算機平臺及設備上的數千優秀應用程序。OpenGL™ 是獨立於視窗操做系統或其它操做系統的,亦是網絡透明的。在包含CAD、內容創做、能源、娛樂、遊戲開發、製造業、製藥業及
虛擬現實等行業領域中,OpenGL™ 幫助程序員實如今 PC、
工做站、
超級計算機等硬件設備上的高性能、極具衝擊力的高視覺表現力圖形處理軟件的開發。
可是,經過一些轉換程序,能夠很方便地將
AutoCAD、3DS/3DSMAX等3D圖形設計軟件製做的DXF和3DS模型文件轉換成OpenGL的頂點數組。
在OpenGL的基礎上還有Open Inventor、Cosmo3D、Optimizer等多種高級圖形庫,適應不一樣應用。其中,Open Inventor應用最爲普遍。該軟件是基於OpenGL面向對象的工具包,提供建立交互式3D圖形應用程序的對象和方法,提供了預約義的對象和用於交互的事件處理模塊,建立和編輯3D場景的高級應用程序單元,有打印對象和用其它圖形格式交換數據的能力。
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平板電腦所採用到。
OpenAL(Open Audio Library)是
自由軟件界的跨平臺音效API,由Loki Software,使用在Windows、Linux 系統上,用來音效緩衝和收聽者中編碼。
OpenAL設計給多通道三維位置音效的特效表現。其 API 風格模仿自
OpenGL。
OpenAL 主要的功能是在來源物體、音效緩衝和收聽者中編碼。來源物體包含一個指向
緩衝區的指標、聲音的速度、位置和方向,以及聲音強度。收聽者物體包含收聽者的速度、位置和方向,以及所有聲音的總體增益。緩衝裏包含 8 或 16 位元、單聲道或立體聲 PCM 格式的音效資料,表現引擎進行全部必要的計算,如距離衰減、多普勒效應等。
不一樣於 OpenGL 規格,OpenAL 規格包含兩個API分支;以實際 OpenAL 函式組成的核心,和 ALC API,ALC 用於管理表現內容、資源使用狀況,並將跨平臺風格封在其中。還有「ALUT」
程式庫,提供高階「易用」的函式,其定位至關於 OpenGL 的 GLUT。