QSGOpenGLTexture 结构体

struct QNativeInterface::QSGOpenGLTexture

提供对 OpenGL 纹理对象的访问和启用其采用。 更多...

头文件 #include <QSGTexture>
CMakefind_package(Qt6 REQUIRED COMPONENTS Quick)
target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmakeQT += quick
Qt 6.0

公共函数

virtual GLuintnativeTexture() const = 0

静态公共成员

(自 6.0 开始) QSGTexture *fromNative(GLuint textureId, QQuickWindow *window, const QSize &size, QQuickWindow::CreateTextureOptions options = {})
(自 6.1 开始) QSGTexture *fromNativeExternalOES(GLuint textureId, QQuickWindow *window, const QSize &size, QQuickWindow::CreateTextureOptions options = {})

详细信息

成员函数文档

[静态,自 6.0 开始] QSGTexture *QSGOpenGLTexture::fromNative(GLuint textureId, QQuickWindow *window, const QSize &size, QQuickWindow::CreateTextureOptions options = {})

window 创建一个新的 QSGTexture,将其包装在现有的 OpenGL 纹理对象中。

textureId 中指定的原生对象被包装,但不由结果 QSGTexture 所有。函数的调用者负责删除返回的 QSGTexture,但不会销毁底层原生对象。

此函数目前仅适用于 2D RGBA 纹理。

警告:如果场景图尚未初始化,此函数将返回空。

使用 options 来自定义纹理属性。这里只考虑 TextureHasAlphaChannel 和 TextureHasMipmaps。

size 指定了像素大小。

注意:此函数必须在场景图渲染线程上调用。

此函数是在 Qt 6.0 中引入的。

另请参阅 QQuickWindow::sceneGraphInitialized(),QSGTexture场景图 - Metal纹理导入,以及场景图 - Vulkan纹理导入

[静态,自6.1起] QSGTexture *QSGOpenGLTexture::fromNativeExternalOES(GLuint textureId, QQuickWindow *window, const QSize &size, QQuickWindow::CreateTextureOptions options = {})

窗口创建一个新的QSGTexture,包装现有的OpenGL ES纹理对象。

textureId 中指定的原生对象被包装,但不由结果 QSGTexture 所有。函数的调用者负责删除返回的 QSGTexture,但不会销毁底层原生对象。

此函数仅适用于使用GL_TEXTURE_EXTERNAL_OES目标:通常是指向其他设备(如照相机)中写入数据的纹理。

警告:如果场景图尚未初始化,此函数将返回空。

使用 options 来自定义纹理属性。这里只考虑 TextureHasAlphaChannel 和 TextureHasMipmaps。

size 指定了像素大小。

注意:此函数必须在场景图渲染线程上调用。

该函数首次在Qt 6.1中引入。

另请参阅 fromNative()。

[纯虚函数] GLuint QSGOpenGLTexture::nativeTexture() const

返回OpenGL纹理ID。

© 2024 Qt公司有限。本文件所述的贡献为各自所有者的版权。本文件中的文档根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款进行许可。Qt及其相关标志是芬兰及/或其他国家Qt公司注册的商标。所有其他商标均为其各自所有者的财产。