QSharedGLTexture 类

class Qt3DRender::QSharedGLTexture

允许在 Qt 3D 场景中使用来自单独 OpenGL 上下文的 textureId更多...

头文件 #include <Qt3DRender/QTexture>
CMakefind_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmakeQT += 3drender
由以下实例化 SharedGLTexture
继承 Qt3DRender::QAbstractTexture

属性

公共函数

inttextureId() const

公共槽

voidsetTextureId(int id)

信号

voidtextureIdChanged(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 做额外工作。

请注意,如果您使用自定义材质和着色器,则需要指定正确的采样器类型。

属性文档

textureId : int

您希望 Qt3D 获得访问权限的 OpenGL 纹理 ID 值。

访问函数

inttextureId() const
voidsetTextureId(int id)

通知信号

voidtextureIdChanged(int textureId)

© 2024 Qt公司有限公司。本文件中包含的文档贡献归各自所有者所有。本文件所提供的文档根据自由软件基金会发布的GNU自由文档许可协议版本1.3提供许可。Qt及其相关标志是Qt公司有限公司在芬兰及其他国家/地区的商标。《 trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. 所有其他商标均属于其各自所有者。