gpt4 book ai didi

cocoa - 确定 NSOpenGLView 是否具有有效的上下文 (Cocoa OSX)

转载 作者:行者123 更新时间:2023-12-03 17:30:55 27 4
gpt4 key购买 nike

我正在尝试检查我的 NSOpenGLView 是否具有有效的上下文,但似乎对 openGLContext 的调用无法帮助我解决这个问题。 openGLContext 似乎总是返回一个 NsOpenGlContext (如果 View 有一个上下文,它会返回当前上下文,如果没有,它会创建一个上下文并返回该上下文)。我可以使用另一种方法吗?

最佳答案

OpenGL 上下文是按线程选择的。 NSOpenGLView 会告诉您应该使用哪个上下文在 View 中进行绘制(即哪个上下文已调用 [context setView: view]),但不会告诉您当前在执行代码的线程中选择了哪个上下文。这有点像在旧 Windows 中选择用于绘图的笔/画笔。

我理解您想知道是否可以在 View 中绘制。为此,请检查当前上下文是否是 NSOpenGLView 返回的上下文,如果不是,请将其设置为。

获取线程当前的 OpenGL 上下文:

NSOpenGLContext* context = [NSOpenGLContext currentContext];

将其中一个设置为当前:

[context makeCurrentContext];

清除当前上下文(即不设置当前上下文):

[NSOpenGLContext clearCurrentContext];

一般来说,请参阅 NSOpenGLContext 的文档。

关于cocoa - 确定 NSOpenGLView 是否具有有效的上下文 (Cocoa OSX),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2952156/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com