我一直在研究OpenGL,OpenGL-ES等......任何人都可以自下而上向我解释这一切是如何融合在一起的吗?
例如,framebuffer - > ?? - >窗口管理器 - > OpenGL? (遗憾的是,这显示了我对此的看法。)
或者在工作站的情况下...视频卡 - > DRI - > X - > WM - > ????
我最近才开始从事个人项目的C ++工作......过去我主要从事过“商业软件”类型的工作......我们非常感谢任何帮助!
答案 0 :(得分:3)
某些Khronos技术旨在协同工作,但大多数技术完全独立。
EGL专为使用OpenGL ES和OpenVG而设计。它用于为这些技术创建上下文。将其视为特定于平台的WGL / GLX。请注意,此仅适用于OpenGL ES ;桌面GL与EGL没有互动。
OpenCL具有桌面OpenGL(和GL ES)之间互操作的扩展。
就是这样。否则,技术之间的关系简单明了。 COLLADA只是一种用于存储网格,场景等的文件格式。它不再适用于OpenGL,而不是设计用于Direct3D。
虽然WebGL,GL ES和桌面GL类似,但它们之间存在差异,没有一个是另一个的完整超集。
答案 1 :(得分:1)
没有像Khronos“堆叠”这样的大人物。 Khronos标准大多是相互独立的。但由于它们经常共享一些目标域,因此它们之间存在接口。
例如,OpenGL和OpenCL之间有一个接口,但两者都不依赖于另一个接口。
COLLADA是一种独立的3D数据交换格式。
WebGL基于OpenGL-ES 2,但它不需要在其上构建WebGL实现。