QSGOpenGLTexture 结构体
struct QNativeInterface::QSGOpenGLTexture提供对 OpenGL 纹理对象的访问和启用其采用。 更多...
头文件 | #include <QSGTexture> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Quick) target_link_libraries(mytarget PRIVATE Qt6::Quick) |
qmake | QT += quick |
自 | Qt 6.0 |
- 所有成员列表,包括继承的成员
- QSGOpenGLTexture 是 原生接口 的一部分。
公共函数
virtual GLuint | nativeTexture() 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公司注册的商标。所有其他商标均为其各自所有者的财产。