Отрисовка QPolygonF в QSGGeometry
Пытаюсь нарисовать полигон при помощи QSGGeometry/QSGFlatColorMaterial. Если я рисую прямоугольник с прямыми углами, то все работает корректно:
QPolygonF polygon;
// Прямоугольник с прямыми углами
polygon << QPointF(0, 0)
<< QPointF(230, 0)
<< QPointF(230, 230)
<< QPointF(0, 230)
<< QPointF(0, 0);
QSGGeometry *geometry = new QSGGeometry(QSGGeometry::defaultAttributes_Point2D(), polygon.count());
QSGFlatColorMaterial *material = new QSGFlatColorMaterial();
material->setColor(QColor("red"));
QSGGeometry::Point2D *vertices = geometry->vertexDataAsPoint2D();
for (int i = 0; i < polygon.count(); i++) {
QPointF point = polygon.at(i);
vertices[i].set(point.x(), point.y());
}
QSGGeometryNode *node = new QSGGeometryNode();
node->setGeometry(geometry);
node->setMaterial(material);
Но если я попытаюсь нарисовать прямоугольник с закругленными углами:
// Прямоугольник с закругленными углами
polygon << QPointF(0, 10)
<< QPointF(0.78585, 6.10755)
<< QPointF(2.92893, 2.92893)
<< QPointF(6.10755, 0.78585)
<< QPointF(10, 0)
<< QPointF(220, 0)
<< QPointF(223.892, 0.78585)
<< QPointF(227.071, 2.92893)
<< QPointF(229.214, 6.10755)
<< QPointF(230, 10)
<< QPointF(230, 220)
<< QPointF(229.214, 223.892)
<< QPointF(227.071, 227.071)
<< QPointF(223.892, 229.214)
<< QPointF(220, 230)
<< QPointF(10, 230)
<< QPointF(6.10755, 229.214)
<< QPointF(2.92893, 227.071)
<< QPointF(0.78585, 223.892)
<< QPointF(0, 220)
<< QPointF(0, 10);
Мне необходимо чтобы контур прямоугольника заполнялся цветом. В чем может быть проблема и как это исправить?

