在 Qt3D 场景上绘制 2D 图形的最佳方法是啥?

Posted

技术标签:

【中文标题】在 Qt3D 场景上绘制 2D 图形的最佳方法是啥?【英文标题】:What's the best way to draw 2D graphics over a Qt3D scene?在 Qt3D 场景上绘制 2D 图形的最佳方法是什么? 【发布时间】:2018-02-11 16:38:18 【问题描述】:

我有一个Qt3DWindow,其中包含一些 3D 内容。它在我的 Qt 应用程序中使用 QWidget::createWindowContainer(QWindow*) 显示为小部件。

在此之上绘制一些 2D 图形(如文本、基本形状等)的首选方法是什么?通常我会覆盖QWidget::paintEvent 并在内部使用QPainter,但使用Qt3DWindow 是不可能的,因为它不是小部件。

【问题讨论】:

【参考方案1】:

This 可以帮助你。将它放在您的 3D 视图之上,您可以在小部件中绘制文本和形状。它不是直接在 3D 表面上绘制,但我不确定这是否容易实现。如果您想在视频游戏中实现类似 HUD 的功能,您必须添加一个框架图分支,该分支对相应的纹理进行正交投影。

【讨论】:

以上是关于在 Qt3D 场景上绘制 2D 图形的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

QT3D场景快速绘制入门学习

Qt3D:如何将 Scene2D 缩放为与窗口相同的大小(逐像素)?

在 OpenGL 中绘制 3d 图形的最有效方法是啥?

在 Unity 2D 中封装继承字段的最佳方法是啥?

Qt3D QtQuick Scene2D 使用 C++

在 iOS 中使用图层和部分渲染来提高速度的最佳方法是啥