kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #38079
OpenGL rendering, etc
-
To:
"kicad-developers@xxxxxxxxxxxxxxxxxxx" <kicad-developers@xxxxxxxxxxxxxxxxxxx>
-
From:
Vesa Solonen <vesa.solonen@xxxxxxxx>
-
Date:
Sun, 21 Oct 2018 15:35:45 +0300
-
Autocrypt:
addr=vesa.solonen@xxxxxxxx; prefer-encrypt=mutual; keydata= xsDiBEiy9EERBAD82hFx3nitjEVNCtkuedqJkwrBgNRsQIsR4zmT0Oy1okWnkzSRyEZHkesA HQy5d5z1OAGSn8BHEL2tJdQKbOCRhEL21yj35T81euDhD3q7pAxrJwwYz5wAyJpZ6ejMGG/g WOrsn5YpdkpR7RxdQ8GUAf7okUoQDemWNY9F8ftZ4wCg+cTF1WmXVPhzKBwy5GVMpTfQehcD /REoeVu4bwm2wTOQpkbnYdR7jJ8XyaAhZVpciWkrm0EH3ES7WhVDmaXzWb8gThzKjurnth6U s4nV7o9vG06sMDzf2siu/Ugbn/QZ1HW9lw2GeXBxwdSbctKiKOukTGNyb2xHN9upETAh9b6f vhNa0nlk+k4kuzvilMmuFSNFZ23HA/4r6kEfa16uK3oR5GQScvIojo95b3LgY2KsrFD6A0b0 61YLZusEB6gIiZ/DcJ+FQy8hQ6u04AmOOXwrneCfluzJFGhaHwOEJj9jwEQN2JMqgjHuMD+v 99Vph+Lzdm9UGOodPKGJ1JL3YyY9QYHj4IedTmDngJaI/2aRB/pgbB2NZc0qVmVzYSBTb2xv bmVuIDx2ZXNhLnNvbG9uZW5AcmZzaGFtYWFuaXQuZmk+wmIEExECACIFAlG02fQCGwMGCwkI BwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEHdUiFKgf4oRxqQAoLbMaHJyWTf3A5H/esvkN9mK piBLAKCJG8iROdaY5CTOrWIb4L/mlxOV7c7BTQRIsvRGEAgA2v+TJXKtFv5TFtqy2egg0ARX X0i8+LtRtPtsXOCWUN51sSX8/1o23MPSzynMJNOsZ8yMEU7I9dDpEnZLAcaBGNrxj6V69uM1 m4aAyds6Qqwm+/nyBDz0zwQwayQjypqRahNTzH9cjIbXOJElh7otGvfI/8PBKCWzu6t/DjiM 2+azFTodADR8w/VXtSmoz5l+ouqJbHKE3xsNFFWnUbfit3EgGrpq16GYFNKm4+h8DIGyvz4Y ycB2DmuoAq+toOUeiIzH1GYe2pwjVzLVG+8x6kU/DRl7Qzst8P+eX4uMSfdepqUVIvYO00+v vYuL9Dkfqiz2lzhuTy+uUmlwvE8A6wADBQf9FD+wb0OWOlF7rG4f3DmdHmKQIXunFy64khfX h4NnCmJspOfCQ9I+cw3vTeX9UwOHtBKFgUkt10lXYSoaaf7cXG7pTUTUKuy8IZeVd1e91WYq edTGYo9pI99mPP8q5mQFN4sV/pyYycyx8DREm7VMuprjAsoeZ6db6ZW+oweI6GkztCtXdPl4 Ui84FSS/CbSrXIoG9WkXz5DyHrfcEJpbYPMkY+ISnENlt5od/UdD+QlnqP907EJQhnBnftSm yrGzPx3Mzno3kDGBwzbmy7HRBFs4dTfFbgZnp1JJNbfStDtNlbgO3mIeHDG4J6shTNe/Bg2m Eauj7I/dpMnflWmkKMJJBBgRAgAJBQJIsvRGAhsMAAoJEHdUiFKgf4oRLjcAn19oVj+nNWXC 9SRamlTcNfp99bByAKD1R/uGemuAaJz3A46tUaEbVQ7Fww==
-
Openpgp:
preference=signencrypt
-
User-agent:
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1
Hi
After testing the new OpenGL renderer on Eeschema I did some comparisons
and tried to find ways for improvement. The speed improvement is
enormous as expected. Thanks!
The attached screenshot compares Eeschema and Gschem rendering of
similar features. It is clear that Gschem grid fits everything on pixel
centres and pushes the rounding error to "white space". Everything but
grid fit lines is anti-aliased and nothing is scaled after rasterisation.
In general MSAA is not good for anti-aliasing of line drawing vector
source data. With vectors the AA is part of the rasterisation, not
something to do afterwards as the group of pixels that resulted from
rasterisation have already lost the meaning what they were about to
represent, so the quality is lost. Especially pixel grid fitting is lost
on scaling that shows as fuzzy lines in the example.
A couple of links regarding anti-aliased lines and arcs just in case
they were not found already:
https://blog.mapbox.com/drawing-antialiased-lines-with-opengl-8766f34192dc
https://github.com/glslify/glsl-circular-arc
I also remember the ocassional talk about Qt and by the effort that goes
to working around wx bugs and non-features something else could be done
on Qt. The OpenGL accelerated QPainter is pretty convincing these days.
Instead of deepfakes the wx to Qt porting AI would be more productive...
-Vesa
Attachment:
eeschema-4xmsaa_gschem.png
Description: PNG image
Follow ups