我已经看到QML 中有一个 Bezier 曲线的示例实现,但我正在寻找如何实现虚线或虚线贝塞尔曲线的提示。据我所知,Bezier 曲线示例的作者正在使用在其QSGGeometryNode
上存储材料。然后他们只需创建点列表并在它们之间绘制线段。QSGGeometry
QSGFlatColorMaterial
是否可以编写 ashader
并将其应用于QSGFlatColorMaterial
(将行显示为dashed
、dotted
等)?
QSGGeometry
最终,是否可以在内部存储多个QSGGeometryNode
?
更新
我想在“纯QtQuick
”中实现这一点——而不是在“旧”接口(如QPainter etc
)中——因为我不想使用切换上下文(openGL 和 CPU)的东西。我更喜欢带有自定义着色器的解决方案(如果可行的话)——因为我将有更多的可能性来实现自定义外观和感觉(虚线、点线、彩色,也许是动画等)。
如果不可能,我会使用QPainter
.