gpt4 book ai didi

cocoa - 问题: Rendering stops with OpenGL on Mac OS X 10. 6

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

我一直遇到问题,在花了一周时间尝试各种解决方案并让我抓狂后,我来到这里看看是否有人可以帮助我。

我正在开发一款适用于 Mac 的 3D 浏览器插件(我有一个可以在 Windows 上运行的插件)。执行此操作的唯一全硬件加速方法是使用 CAOpenGLLayer(或从中继承的东西)。如果创建了一个 NSWindow 并将该图层附加到该窗口的 NSView,那么一切都会正常工作。但是,由于某种原因,当将图层传递到浏览器时,我只能获取特定数量的帧 (16) 进行渲染。

Cocoa 在前 16 帧中调用我的图层的drawInCGLContext。然后,由于某种未知的原因,它停止调用它。 16 似乎是一个非常具体且程序化的帧数,因此我想知道是否有人了解为什么在 16 帧后不会调用drawInCGLContext?

我相当确定这不是因为我将图层传递到浏览器中 - 我创建了一个非常小的示例插件,它使用 CAOpenGLLayer 渲染旋转四边形,并且实际上有效。但完整的插件比这复杂得多,我只是不知道该去哪里寻找。我只是不知道为什么drawInCGLContext 停止被调用。我尝试使用 CATransaction 强制它,它肯定会发送 setNeedsDisplay 消息 - 但drawInCGLContext 从未被调用。 OpenGL 也不报告任何错误(我当前正在检查所有 OpenGL 调用的结果)。我很困惑!帮忙?

最佳答案

因此,对于将来遇到此问题的任何其他人:您正在尝试使用drawInCGLContext 之外的OpenGL 上下文进行绘制。代码中存在一个错误,几乎所有绘图都是从正确的位置 (drawInCGLContext) 发生的,但一个代码路径导致它在该位置之外渲染。

不会引发任何错误,glGetError 也不会返回任何问题。它只是停止渲染。因此,如果这种情况发生在您身上 - 您几乎肯定会犯我所犯的同样错误!

关于cocoa - 问题: Rendering stops with OpenGL on Mac OS X 10. 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5355566/

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