On 24/10/2018 13:32, Jeff Young wrote: > If the pixel snapping happens in the shader then ERC wouldn’t know about it. > We just have to make sure that the snap direction is uniform so we don’t end > up with visual mismatches between wires & pins (for instance).
I'll have a look at it. T. > > Then again, while I know the internals of Kicad pretty well I know almost > nothing about OpenGL, so take this with a grain of salt. > > Cheers, > Jeff. > > >> On 24 Oct 2018, at 07:39, Michael Steinberg <michste...@gmail.com> wrote: >> >> Hello, >> >> it might perhaps be worthwile to add Pixel-Snapping to the vertex/geometry >> shader, depending on the introduced relative error. Of course pixel snapping >> geometry is always altering reality in favor of "clean" graphics, but if the >> error is reasonably small, it's mostly the ERC that needs to do it >> correctly, right? >> >> Michael >> >> >> Am 22.10.2018 um 16:29 schrieb Tomasz Wlostowski: >>> On 21/10/2018 14:35, Vesa Solonen wrote: >>>> 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! >>> Hi Vesa, >>> >>> Thank you. >>>> 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. >>> In general, OpenGL (or any other 3D API) is not good for drawing complex >>> 2D antialiased graphics *without* blending artifacts and with correct >>> layer ordering. When we designed GAL, we considered several options with >>> Orson: >>> - per-primitive shader-based antialiasing (as you suggested in your >>> first link). This is OK if you have no transparent objects to draw >>> (otherwise, it's difficult to avoid blending artifacts on overlapping >>> transparent objects on the same layer). >>> - the solution above with per-layer pixel/stencil buffer to avoid >>> artifacts, which is expensive in terms of raster operations (lots of >>> overdraw to composite the layers on top of each other) >>> - Native HW accelerated 2D graphics API, dropped because of lack of >>> standardization and large effort to support different 2D libraries on >>> multiple platforms. >>> - Z buffering with MSAA/SSAA. Its advantages are correct blending and >>> speed (especially for MSAA), at the price of some artifacts produced by >>> the MSAA algorithm. >>> >>> We chose the last option, as the speed is most important in a CAE >>> program view. For the time being you can either enable 4x supersampling >>> (if you have an $80+ graphics card I bet it'll work lightning fast) or >>> dig out the old antialiased Cairo GAL from the repo. We removed it from >>> pcbnew 2 years ago because it was unusably slow, but it provided >>> beautifully antialiased and correctly blended images. >>> >>> >>>> 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. >>> I'd rather have the view, tools and core frameworks independent from any >>> UI toolkit. >>> >>>> The OpenGL accelerated QPainter is pretty convincing these days. >>> Does it support layers and artifact-free transparency? Last time I >>> checked it didn't. Some proprietary EDA tools I know use QGraphicsView >>> and the graphics are neither very fast nor look good. But maybe things >>> have changed... >>> >>>> Instead of deepfakes the wx to Qt porting AI would be more productive... >>> I think using QPainter/QGraphicsView mixed with Kicad tool/view code >>> base is as bad as doing this with any other UI library. >>> >>> On the other hand, Qt for the UI part of Kicad looks *very* interesting! >>> >>> Best, >>> Tom >>> >>> _______________________________________________ >>> Mailing list: https://launchpad.net/~kicad-developers >>> Post to : kicad-developers@lists.launchpad.net >>> Unsubscribe : https://launchpad.net/~kicad-developers >>> More help : https://help.launchpad.net/ListHelp >> >> >> _______________________________________________ >> Mailing list: https://launchpad.net/~kicad-developers >> Post to : kicad-developers@lists.launchpad.net >> Unsubscribe : https://launchpad.net/~kicad-developers >> More help : https://help.launchpad.net/ListHelp > > > _______________________________________________ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > _______________________________________________ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp