Narysuj przerywaną i przerywaną krzywą Beziera w QML
Widziałem przykładową implementacjękrzywa Beziera w QML, ale szukam podpowiedzi, jak zaimplementować przerywaną lub przerywaną linię krzywej Beziera. O ile widzę, autorzy przykładu krzywej Beziera używająQSGGeometryNode
do przechowywania w środkuQSGGeometry
zQSGFlatColorMaterial
zastosowany na nim materiał. Następnie po prostu tworzą listę punktów i rysują segmenty między nimi.
Czy można napisaćshader
i zastosuj go doQSGFlatColorMaterial
(aby wyświetlić linię jakodashed
, dotted
itp.)
Ostatecznie jest możliwe przechowywanie więcej niż jednegoQSGGeometry
wewnątrzQSGGeometryNode
?
AKTUALIZACJA
Chciałbym to zaimplementować w „czystyQtQuick
„- nie w„ starych ”interfejsach (jakQPainter etc
) - ponieważ nie chcę używać czegoś, co przełącza kontekst (openGL i CPU). Preferuję rozwiązanie z niestandardowym shaderem (jeśli jest to możliwe) - ponieważ będę miał więcej możliwości w implementacji niestandardowego wyglądu i działania (przerywane, kropkowane, kolorowe, może animowane itp.).
Jeśli nie jest to możliwe, użyjęQPainter
.