<div><div dir="auto">The only problem I can find with Cairo is that it uses premultiplied alpha. That's so annoying! Also, I'm not sure if the Cairo renderer is GPU or CPU based. </div><div dir="auto"><br></div><div dir="auto">I'm using Qt to render the images. Qt can render surfaces so I can use pixman to manipulate a surface and then Qt to upload it to the GPU when it's time to render. Cairo can do the same thing but then I have to worry about premultiplied alpha. I could use pixman to do the compositing and Cairo to do other stuff but that's just a mess.</div></div><div dir="auto"><br></div><div dir="auto">I'm guessing that using a GPU backend for Cairo and then making it play nice with the Qt layout engine will be a nightmare. If I have to go back and forth between CPU and GPU, it might actually be faster to use CPU rendering. The only thing I'm worried about is compositing. Compositing is much faster on the GPU (I presume) but if I use Cairo, I'll have to fiddle around with the alpha channel. That means a round trip between CPU and GPU memory.</div><div dir="auto"><br></div><div dir="auto">I only really need non-antialiased circle rendering (antialiasing is a nice-to-have). I can figure out to do that myself (Bresenham comes to mind). I think I'll use pixman and do everything on the CPU.</div><div dir="auto"><br></div><div dir="auto">Another question: can pixman render a filled polygon without antialiasing? If not, I might have to do that myself too. 😢</div><div><br><div class="gmail_quote"><div dir="ltr">On Wed, 6 Feb 2019 at 17:54 Pekka Paalanen <<a href="mailto:ppaalanen@gmail.com">ppaalanen@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, 6 Feb 2019 15:00:58 +1030<br>
Indi Kernick <<a href="mailto:kerndog73@gmail.com" target="_blank">kerndog73@gmail.com</a>> wrote:<br>
<br>
> Is it possible to render a filled circle onto an image? How about rendering<br>
> the outline of a circle? Could I do this with or without antialiasing? How<br>
> about lines with or without antialiasing?<br>
> <br>
> I might be able to hack something together with radial gradients but I'm<br>
> hoping there's a better way. I'm not actually using pixman yet. I'm just<br>
> trying to determine whether this is the library I need.<br>
> <br>
> If pixman cannot do these things, could someone recommend a library that<br>
> does? I need something that can do compositing (with options to set the<br>
> compositing operation), transformations, masking, indexed (palette) images,<br>
> kernel convolution filters, gradients, basic line, circle and rectangle<br>
> rendering.<br>
> <br>
> Rendering a circle myself isn't that complicated but I'd rather use someone<br>
> else's code that does it properly and fast.<br>
<br>
Hi,<br>
<br>
sounds like Cairo (with the image backend) might fit better for you. It<br>
uses Pixman under the hood.<br>
<br>
<a href="https://cairographics.org/" rel="noreferrer" target="_blank">https://cairographics.org/</a><br>
<br>
<br>
Thanks,<br>
pq<br>
</blockquote></div></div>