Qml 三顶点QSGGeometryNode深度(z)问题

Qml 三顶点QSGGeometryNode深度(z)问题,qml,qt5,frustum,scenegraph,Qml,Qt5,Frustum,Scenegraph,我正在Qml场景图中绘制一个3D几何体(Point3D顶点),其中包含一个自定义的QSGGeometryNode和QSGTransformNode。除了三维模型在某个z坐标处被切断(z是Qml中的深度轴)外,此操作有效。首先,我认为问题是由于与Qml 2D平面相交造成的。但我尝试沿z轴移动模型,它总是被切断(好像有一个局部模型平截头体剪裁平面) 这个问题的根源是什么 关于,不幸的是,您不能“仅”渲染场景内的3D内容,因为场景图将使它们尊重项目的正确堆叠 如果您有一个3D对象,您可能想改用它(另请

我正在Qml场景图中绘制一个3D几何体(Point3D顶点),其中包含一个自定义的QSGGeometryNode和QSGTransformNode。除了三维模型在某个z坐标处被切断(z是Qml中的深度轴)外,此操作有效。首先,我认为问题是由于与Qml 2D平面相交造成的。但我尝试沿z轴移动模型,它总是被切断(好像有一个局部模型平截头体剪裁平面)

这个问题的根源是什么

关于,

不幸的是,您不能“仅”渲染场景内的3D内容,因为场景图将使它们尊重项目的正确堆叠


如果您有一个3D对象,您可能想改用它(另请参见)。

因此,无论它在何处,它总是在模型的同一位置剪切?是的。我可以旋转模型,它会在某个位置清晰地切割。我想你被它咬了。你能粘贴一个小的测试用例吗?你能用
apitrace
GammaRay
等工具检查一下发生了什么事吗?谢谢你的链接。我一定是在搜索文档时忽略了这一页。可能最简单的方法是使用
QQuickPaintedItem
,它有一个很大的缺点,就是它会渲染成FBO?我还试图劫持OpenGL上下文(),但这不适用于混合Qml。由于平台兼容性,我不想使用Qt3D,并且QtCanvas3D具有巨大的内存开销。我的意思是使用
QQuickFramebufferObject
而不是
QQuickPaintedItem