Can anyone explain the way the “Khronos stack” of

2019-05-05 09:07发布

I've been researching OpenGL, OpenGL-ES, etc...Can anyone explain to me, from the bottom up, how this all fits together?

For instance, framebuffer -> ?? -> Window Manager -> OpenGL ? (That shows you where I'm at with this, sadly.)

Or in the case of a workstation...video card -> DRI -> X -> WM -> ????

I've only recently started working on C++ stuff on personal projects...I've mainly worked on "business software" type stuff in the past...any help would be greatly appreciated!

2条回答
2楼-- · 2019-05-05 09:19

There are certain Khronos technologies that are intended to work together, but most are completely independent.

EGL is designed for working with OpenGL ES and OpenVG. It is used to create the context for these technologies. Think of it as a platform-specific WGL/GLX. Note that this only works for OpenGL ES; desktop GL has no interaction with EGL.

OpenCL has extensions for inter-operating between desktop OpenGL (and GL ES).

And that's about it. Otherwise, the relation between the technologies is simple and obvious. COLLADA is just a file format for storing meshes, scenes and such. It is no more designed to work with OpenGL than it is designed to work with Direct3D.

While WebGL, GL ES, and desktop GL are similar, there are difference between them and none is a full superset of the other.

查看更多
做个烂人
3楼-- · 2019-05-05 09:26

There is no such thig like a Khronos "stack". The Khronos standards are mostly independent from each other. But since they oftenly share some of the targeted domain there are interfaces between them.

For example there is a interface between OpenGL and OpenCL, but neither is dependent on the other.

COLLADA is a independent exchange format for 3D data.

WebGL is based on OpenGL-ES 2, but it doesn't require the WebGL implementation to be built on top of it.

查看更多
登录 后发表回答