gpt4 book ai didi

qt - 在 qt5 的 qtquick 2.0 中渲染自定义 opengl

转载 作者:行者123 更新时间:2023-12-03 22:31:51 25 4
gpt4 key购买 nike

我正在寻找一种方法来在 qtquick 2.0 项目中呈现我的自定义 opengl 调用。给你一些背景信息:我有一个使用 opengl 进行渲染的 C++ 3d 引擎。目标是让它在 qtquick 2.0 UI 中呈现。

我发现在 qt 5.0 (qtquick 2.0) 之前,您将使用 QtGlWidget 并将其嵌入到 QDeclarativeView 中。我发现的另一种方法是使用 QtDeclarativeItem 并覆盖 void QDeclarativeItem::paint(QPainter *p, const QStyleOptionGraphicsItem *o, QWidget *w) 方法。

据我了解,这不再可能,因为 QtQuick 2.0 使用基于 OpenGl 的新渲染器。因此,它似乎不像覆盖油漆方法那么容易。

有谁知道我将如何实现允许渲染我的 opengl 调用的 QQuickItem?

最佳答案

你可以做两件事之一。通过使用 QQuickWindow::beforeRendering Hook 将您的内容渲染为纹理或在场景图的 OpenGL 上下文中渲染或 QQuickWindow::afterRendering信号。

可以在此处找到有关如何使用 FBO 和纹理的示例:http://doc.qt.io/qt-5/qtquick-scenegraph-textureinsgnode-example.html

可以在此处找到有关如何直接渲染到场景图的 OpenGL 上下文的示例:http://doc.qt.io/qt-5/qtquick-scenegraph-openglunderqml-example.html

关于qt - 在 qt5 的 qtquick 2.0 中渲染自定义 opengl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13608802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com