Ugly edge with rounded rectangle geometry on layer

Viewed 35

I have some rounded rectangle geometry.

ID2D1RoundedRectangleGeometry *geo; (1)

First I draw it

target->FillGeometry(geo, brush); (2)

Then I apply clipping mask using ID2D1Layer with the same geometry:

target->PushLayer(D2D1::LayerParameters(D2D1::InfiniteRect(), geo), nullptr); (3)

And then, with layer I make some draw over it:

target->FillGeometry(mask, anotherBrush); (4)
... another draw calls

The result:

enter image description here

As you can see there is a problem with edges, seems like some part of initial draw (1) is not covered by mask, although has the same geometry.

Can it be solved without resizing initial draw area or the layer area?


Specifying antialias mode at (3), changes the result a bit, but still unsatisfying:

 target->PushLayer(D2D1::LayerParameters(D2D1::InfiniteRect(), geo, D2D1_ANTIALIAS_MODE_ALIASED), nullptr); (3) 

enter image description here

0 Answers
Related