Shape Path Translucent Overdraw Problem (GL specific?)
Unsolved
QML and Qt Quick
-
Hi everybody. Long time no post - long story.
I've got stuck with what I think seems to be a triangle overdraw problem with shapes.
Firstly - Qt 5.11 on MacOS 10.13.4. iMac 5K later 2014. Also observed on iPad Pro.
Secondly here's the code.
// (C) kindid.co.uk 2018 import QtQuick 2.10 import QtQuick.Window 2.10 import QtQuick.Shapes 1.11 Window { id: root visible: true width: 320 height: 320 title: qsTr("KD Button Test") Shape { id: shape property int radius: 40 anchors.fill: parent anchors.margins: 20 ShapePath { strokeWidth: 30 strokeColor: Qt.rgba(0.5,0.5,1,0.5) fillColor: Qt.rgba(0,0,1,1) startX: shape.radius startY: 0 PathArc { x: 0 y: shape.radius radiusX: shape.radius radiusY: shape.radius direction: PathArc.Counterclockwise } PathLine { x: 0 y: shape.height - shape.radius } PathArc { x: shape.radius y: shape.height radiusX: shape.radius radiusY: shape.radius direction: PathArc.Counterclockwise } PathLine { x: shape.width - shape.radius y: shape.height } PathArc { x: shape.width y: shape.height - shape.radius radiusX: shape.radius radiusY: shape.radius direction: PathArc.Counterclockwise } PathLine { x: shape.width y: shape.radius } PathArc { x: shape.width - shape.radius y: 0 radiusX: shape.radius radiusY: shape.radius direction: PathArc.Counterclockwise } PathLine { x: shape.radius y: 0 } } } }
Thirdly - Here's what that renders - notice the glitches where the arcs and lines meet. My supposition is that those pixels are being drawn twice - hence the colour is wrong - it's been blended with itself as it were. I found similar things in my own renderers before.
Setting QT_QUICK_BACKEND to "software" and running again I get a correct result (however, this is not really and option for me)
Any pointers?