Macos 如何从CGLContextObj创建QGLWidget?
我在MacOS10.8上使用Qt4.8.4 我已经有一个Macos 如何从CGLContextObj创建QGLWidget?,macos,qt,opengl,qt4,core-graphics,Macos,Qt,Opengl,Qt4,Core Graphics,我在MacOS10.8上使用Qt4.8.4 我已经有一个CGLContextObj(在我的控制之外创建) 我想从我现有的CGLContextObj创建一个QGLWidget,或者至少与之共享一个cglwidget——这样我就可以渲染在CGLContextObj上创建的纹理 如何从现有的CGLContextObj创建QGLContext 已经试过了 我找到了,但该方法似乎只有在QPA模式下构建Qt时才可用(…但是/configure-QPA-cocoa无法构建,而且我还无法找到任何关于-QPA
CGLContextObj
(在我的控制之外创建)
我想从我现有的CGLContextObj
创建一个QGLWidget
,或者至少与之共享一个cglwidget
——这样我就可以渲染在CGLContextObj
上创建的纹理
如何从现有的CGLContextObj
创建QGLContext
已经试过了
- 我找到了,但该方法似乎只有在QPA模式下构建Qt时才可用(…但是
无法构建,而且我还无法找到任何关于/configure-QPA-cocoa
标志具体作用的文档)-QPA
qcoloagContext
(一个QPlatformOpenGLContext
的派生类),并从中得到一个QOpenGLContext
(QPlatformOpenGLContext::context()
),从中得到一个QGLContext
(QGLContext::fromOpenGLContext(QOpenGLContext*)
)。这让您非常接近,但是如何从CGLContextObj
到QCocaglContext
不幸的是,我看不到从CGLContextObj
构建qcocogaglcontext
的选项。它确实有一个NSOpenGLContext
私有数据成员,该成员在现有构造函数中初始化,因此您可以添加另一个构造函数 在Qt 4中仍在进行中。是的。如果您可以选择升级到Qt5,事情可能会更简单
在Qt5中,您可以构造一个qcoloagContext
(一个QPlatformOpenGLContext
的派生类),并从中得到一个QOpenGLContext
(QPlatformOpenGLContext::context()
),从中得到一个QGLContext
(QGLContext::fromOpenGLContext(QOpenGLContext*)
)。这让您非常接近,但是如何从CGLContextObj
到QCocaglContext
不幸的是,我看不到从
CGLContextObj
构建qcocogaglcontext
的选项。它确实有一个NSOpenGLContext
私有数据成员,该成员在现有构造函数中初始化,因此您可以添加另一个构造函数 差不多。您提到的大多数类都是私有的,因此不会通过Qt5框架API公开。我编写了一个补丁来添加公共函数boolqopenglcontext::createWithNativeContext(void*nativeContext)
——几乎可以。您提到的大多数类都是私有的,因此不会通过Qt5框架API公开。我编写了一个补丁来添加公共函数boolqopenglcontext::createWithNativeContext(void*nativeContext)
-