opengl - 谁能解释一下 "Khronos stack"技术组合在一起的方式?

标签 opengl opengl-es x11

我一直在研究 OpenGL、OpenGL-ES 等……谁能从下往上向我解释一下,这一切是如何结合在一起的?

例如,帧缓冲区 -> ?? -> 窗口管理器 -> OpenGL? (可悲的是,这向您展示了我在哪里。)

或者在工作站的情况下...显卡 -> DRI -> X -> WM -> ????

我最近才开始在个人项目上研究 C++ 的东西……我过去主要从事“商业软件”类型的东西……任何帮助将不胜感激!

最佳答案

某些 Khronos 技术旨在协同工作,但大多数是完全独立的。

EGL 专为与 OpenGL ES 和 OpenVG 一起工作而设计。它用于为这些技术创建上下文。将其视为特定于平台的 WGL/GLX。请注意,这只适用于 OpenGL 西 ; desktop GL 与 EGL 没有交互。

OpenCL 具有用于桌面 OpenGL(和 GL ES)之间互操作的扩展。

就是这样。否则,技术之间的关系是简单而明显的。 COLLADA 只是一种用于存储网格、场景等的文件格式。它的设计目的是与 OpenGL 一起使用,而不是为与 Direct3D 一起使用而设计。

虽然 WebGL、GL ES 和桌面 GL 很相似,但它们之间还是有区别的,并且没有一个是另一个的完整超集。

关于opengl - 谁能解释一下 "Khronos stack"技术组合在一起的方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8521897/

相关文章:

c++ - 粒子系统 : particle generation

c - 尝试绑定(bind)帧缓冲区或附加渲染缓冲区时操作无效

linux - Linux 上的 X Windows 事件

opengl - 如何使用 C 或 C++ 与显卡进行接口(interface)?

c++ - 可分离过滤器与渲染时间

c++ - GLFW_PRESS抛出 “lvalue required as left operand of assignment”

java - Ubuntu:从/X11/Xsession.d 中启动的 java 启动 firefox 正在运行但不可见

javascript - 在 JavaScript 中以编程方式为 WebGL 生成纹理

android - GLES10.glGetIntegerv 仅在 Lollipop 中返回 0

linux - UTF-8 输入和使用 XGetICValues