QSharedGLTexture 类
class Qt3DRender::QSharedGLTexture允许在 Qt 3D 场景中使用来自单独 OpenGL 上下文的 textureId。 更多...
头文件 | #include <Qt3DRender/QTexture> |
CMake | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake | QT += 3drender |
由以下实例化 | SharedGLTexture |
继承 | Qt3DRender::QAbstractTexture |
属性
- textureId : int
公共函数
int | textureId() const |
公共槽
void | setTextureId(int id) |
信号
void | textureIdChanged(int textureId) |
详细描述
根据 Qt 3D 使用的渲染模式,共享上下文将是
- 当 Qt 3D 控制渲染时为 qt_gl_global_share_context。当在 QApplication 类中设置属性 Qt::AA_ShareOpenGLContexts 时,这将自动使 QOpenGLWidget 实例与其上下文共享到 qt_gl_global_share_context。
- 来自 QtQuick 场景的共享上下文。尽管截至 5.13 它是 qt_gl_global_share_context,但您可能需要子类化 QWindow 或使用 QtQuickRenderControl 来控制该共享上下文。
任何与 Qt 3D 渲染器共享其上下文的第三方引擎现在都可以提供由 Qt 3D 纹理引用的纹理 ID。
您可以省略指定纹理属性,Qt 3D 将在运行时尝试确定它们。如果您知道它们,当然可以提供它们,避免为 Qt 3D 做额外工作。
请注意,如果您使用自定义材质和着色器,则需要指定正确的采样器类型。
© 2024 Qt公司有限公司。本文件中包含的文档贡献归各自所有者所有。本文件所提供的文档根据自由软件基金会发布的GNU自由文档许可协议版本1.3提供许可。Qt及其相关标志是Qt公司有限公司在芬兰及其他国家/地区的商标。《 trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. 所有其他商标均属于其各自所有者。