函数 CGLGetCurrentContext 什么时候应该返回 NULL,什么时候不应该?

GBF_加布里埃尔

我正在使用需要获取 OpenGL 低级上下文的 API 编写程序,但我无法理解该函数CGLGetCurrentContext何时应返回值(表示上下文的整数),何时不应返回。

现在,该函数CGLGetCurrentContext()正在返回NULL,这破坏了我的程序。我怎样才能解决这个问题?

这个函数的目的是什么?OpenGL 上下文是如何建模的?

gkv311

OpenGL 有一个绑定到工作线程的活动渲染上下文的概念。这样您就可以考虑CGLGetCurrentContext()返回一些线程局部变量。如果出现以下情况,预计会返回一些值:

  • 一些代码创建了一个 OpenGL 上下文。
  • 某些代码在当前工作线程中激活了 OpenGL 上下文。
  • CGLGetCurrentContext()在同一个工作线程中调用,并且之前的代码没有停用它。

由于您没有指定代码的详细信息,我可能认为 OpenGL 是由不是您编写的代码管理的,这使得很难说明为什么CGLGetCurrentContext()可能为 NULL。

我只能说我的 macOS 应用程序使用CGLGetCurrentContext()并且按预期工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章