[筆摘]OpenGL介面。和他相同功能的介面還有DirectX 。快速產生圖形。

[筆摘]
OpenGL介面。和他相同功能的介面還有DirectX 。快速產生圖形。
[需有的重要觀念]
1.高通MSM7227,應用處理器裡面的GPU叫做Adreno 200 ←←重要觀念
2.這個Adreno 200的GPU,支持OpenGL和Direct3D ←←←←重要觀念
早期3D介面IRIS GL。
IRIS GL的一個限制是它只能存取底層硬體提供的特性。
如果圖形硬體不支援例如紋理對映這樣的功能,那麼應用程式就不能使用它。
OpenGL通過在軟體上對硬體不支援的特性提供支援的方法克服了這個問題,允許應用程式在相對低配置的系統上使用高階的圖形特性。
OpenGL
OpenGL用於生成二維、三維圖像。
OpenGL這個介面由近三百五十個不同的函式呼叫組成,用來從簡單的圖形位元繪製複雜的三維景象。
OpenGL規範描述了繪製2D和3D圖形的抽象API。儘管這些API可以完全通過軟體實現
OpenGL規範是為大部分或者全部使用硬體加速而設計的。
OpenGL不僅語言無關,而且平台無關。
OpenGL通過軟體實現的例子
-WebGL (JavaScript)(基於OpenGL ES 2.0在Web瀏覽器中的進行3D渲染的API);WebGL的網頁標準,如果成功推廣,那麼網頁瀏覽器的成像引擎(如WebKit或Gecko)都可以利用GPU來加速網頁內容的成像。
-WGL、GLX和CGL(C語言)
-iOS提供的C綁定;
-Android提供的Java和C綁定。
OpenGL標準化了存取硬體的方式 : 硬體介面程式的開發(有時也稱為裝置驅動程式)交由硬體製造商,而窗口功能委託給底層作業系統。
OpenGL讓大量不同種類的圖形硬體講同一種語言影響深遠,它為軟體開發者進行3D軟體發展提供了更高層次的平台。
OpenGL的對手Direct3D介面
OpenGL常用於CAD、虛擬實境、科學視覺化程式和電子遊戲開發。
OpenGL的高效實現(利用了圖形加速硬體)存在於Windows,很多UNIX平台和Mac OS。
這些實現一般由顯示裝置廠商提供,而且非常依賴於該廠商提供的硬體。
(意思就是這些功能,是寫在顯卡裡的)
OpenGL 2.0加入支援GLSL的功能
*GLSL 以C語言為基礎的高階著色語言。
提供開發者對繪圖管線更多的直接控制,而無需使用彙編語言或硬體規格語言。
繪圖管線(Graphics pipeline)是3D繪圖中用來平行處理的問題,
在單一時脈(clock cycle)下,多個管線(pipelines)可具有平行處理的能力。
如果有2條管線(pipeline)就能同時處理2道指令,同理,有12條管線能同時處理12道指令。
Mesa是一個純基於軟體的圖形API

https://zh.wikipedia.org/wiki/OpenGL

留言

熱門文章