【发布时间】:2013-08-21 23:19:57
【问题描述】:
我看到有一个a Bezier curve in QML 的示例实现,但我正在寻找如何实现虚线或虚线贝塞尔曲线的提示。据我所知,Bezier 曲线示例的作者正在使用 QSGGeometryNode 存储在 QSGGeometry 内部,并在其上应用了 QSGFlatColorMaterial 材料。然后他们只需创建点列表并在它们之间绘制线段。
是否可以编写shader 并将其应用于QSGFlatColorMaterial(将行显示为dashed、dotted 等)?
最终,是否可以在QSGGeometryNode 中存储多个QSGGeometry?
更新
我想在“纯QtQuick”中实现这一点——而不是在“旧”接口(如QPainter etc)中——因为我不想使用切换上下文(openGL 和 CPU)的东西。我更喜欢使用自定义着色器的解决方案(如果可行的话)——因为我将有更多的可能性来实现自定义外观(虚线、点线、彩色、可能是动画等)。
如果不可能,我会使用QPainter。
【问题讨论】:
-
更改贝塞尔曲线示例以根据所选线型的需要为每个子线段生成几何图形相对简单。