我正在查看使用GLX创建OpenGL上下文的各种示例代码,我对两种类型的窗口对象感到困惑:Xlib使用的Window
和GLX使用的GLXWindow
,因为在某些示例代码中,它们直接使用Xlib的窗口进行渲染,而在另一些示例中,它们还创建GLX的窗口。我的问题是:
Window
?GLX 1.4文档(还有其他文档吗?)告诉我使用GLXWindow
创建glXCreateWindow
,并且该文档将Window
作为其第三个参数。我不确定这是否应该是GLXWindow
的父窗口,或者Window
是否被GLXWindow
“包装”,文档似乎尚不清楚。有谁知道这应该如何工作以及其背后的原理?为什么有些示例使用GLXWindow
,而有些却没有,但它们似乎仍然可以正常工作?
使我感到困惑的另一件事是,某些示例使用glXCreateContext
创建其OpenGL上下文,而其他示例(包括GLX 1.4规范)使用glXCreateNewContext
。两者似乎都可以在我的库版本中使用,但我不太了解它们之间的区别。
还有glXMakeCurrent
和glXMakeContextCurrent
–对我来说是另一个困惑的来源。
有人可以向我解释这些略有不同的拼写的函数/类型之间的区别,或者将我发送到一些我可以自己了解的在线资源吗?
哦,还有一件事:这些东西仍然与现代OpenGL(3.0+,可编程管道之一)相关吗?或者只是一些我不应该抨击可怜的小马头的旧货? :q
因为我从未听说过GLXWindow