2011-12-15 37 views
4

我一直在研究OpenGL,Op​​enGL-ES等......任何人都可以從底層向我解釋這一切是如何融合在一起的?任何人都可以解釋「Khronos技術堆疊」的技術適合在一起的方式嗎?

例如,framebuffer - > ?? - >窗口管理器 - > OpenGL? (這顯示你在哪裏,我很傷心)

或者在工作站的情況下......視頻卡 - > DRI - > X - > WM - > ????

我只是最近纔開始在個人項目上使用C++的東西......我主要從事過「業務軟件」類型的東西......任何幫助將不勝感激!

+0

另請在回答中包含OpenGL,Op​​enCL和EGL如何協同工作。 – Kos 2011-12-15 14:51:57

回答

3

有一些Khronos技術旨在協同工作,但大多數都是完全獨立的。

EGL旨在與OpenGL ES和OpenVG一起使用。它用於創建這些技術的上下文。將其視爲特定於平臺的WGL/GLX。請注意,這個只有適用於OpenGL ES;桌面GL與EGL沒有交互。

OpenCL擴展了桌面OpenGL(和GL ES)之間的相互操作。

就是這樣。否則,技術之間的關係簡單明瞭。 COLLADA只是存儲網格,場景等的文件格式。它的設計與OpenGL的設計不同,它的設計與Direct3D一起使用。

雖然WebGL,GL ES和桌面GL是相似的,但它們之間存在差異,沒有一個是完整的超集。

1

有沒有像Khronos「堆棧」這樣的thig。 Khronos標準大多是相互獨立的。但由於他們經常共享某些目標域,因此它們之間有接口。

例如,OpenGL和OpenCL之間有一個接口,但都不依賴於其他接口。

COLLADA是3D數據的獨立交換格式。

WebGL基於OpenGL-ES 2,但它不需要在其之上構建WebGL實現。