Re: [Kicad-developers] GAL layer question
Yes, that’s another option. Eeschema doesn’t currently hide selected objects and create clones in the preview, but it could. Cheers, Jeff. > On 7 Aug 2019, at 23:15, Tomasz Wlostowski wrote: > > On 07/08/2019 19:45, Jeff Young wrote: >> Hi Orson, >> >> I wanted to keep the selection highlight shadows uncached, but they need to >> go above the device backgrounds and sheet backgrounds. >> >> I can go ahead and put them in cached. (I just need to add some code to >> redraw them when the zoom level changes.) >> > Hi Jeff, > > IIRC selected items are never cached in GAL, at least in pcbnew (select > moves them to m_selection which is a non-cached VIEW_GROUP). > > Cheers, > Tom > >> >> Cheers, >> Jeff. >> >>> On 7 Aug 2019, at 13:24, Maciej Suminski wrote: >>> >>> Hi Jeff, >>> >>> I am afraid it is not possible. We use two framebuffers for rendering: >>> the cached one keeps in the video memory vertices that are not likely to >>> change in the near future, the non-cached is for vertices that are >>> modified (e.g. dragged tracks) and are send to the GPU every frame. >>> >>> To boost the performance even further, the framebuffers take advantage >>> of composition. The framebuffers are rendered to textures, then they are >>> blitted on the screen: first cached, then non-cached. Thanks to that, >>> the cached framebuffer might be reused for many frames when only >>> non-cached items are updated, but the drawback is that one cannot >>> interleave the rendering order. >>> >>> Is there a particular problem you are trying to solve? Perhaps it can be >>> implemented in another way. >>> >>> Cheers, >>> Orson >>> >>> On 8/3/19 11:09 PM, Jeff Young wrote: How do I interleave a GAL non-cached layer with cached layers? The selection shadow is currently non-cached, but because of that is always drawn behind device fills. Is there a way to put it between LAYER_DEVICE and LAYER_DEVICE_BACKGROUND (both of which are cached in OpenGL)? ___ 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
Re: [Kicad-developers] GAL layer question
On 07/08/2019 19:45, Jeff Young wrote: > Hi Orson, > > I wanted to keep the selection highlight shadows uncached, but they need to > go above the device backgrounds and sheet backgrounds. > > I can go ahead and put them in cached. (I just need to add some code to > redraw them when the zoom level changes.) > Hi Jeff, IIRC selected items are never cached in GAL, at least in pcbnew (select moves them to m_selection which is a non-cached VIEW_GROUP). Cheers, Tom > > Cheers, > Jeff. > >> On 7 Aug 2019, at 13:24, Maciej Suminski wrote: >> >> Hi Jeff, >> >> I am afraid it is not possible. We use two framebuffers for rendering: >> the cached one keeps in the video memory vertices that are not likely to >> change in the near future, the non-cached is for vertices that are >> modified (e.g. dragged tracks) and are send to the GPU every frame. >> >> To boost the performance even further, the framebuffers take advantage >> of composition. The framebuffers are rendered to textures, then they are >> blitted on the screen: first cached, then non-cached. Thanks to that, >> the cached framebuffer might be reused for many frames when only >> non-cached items are updated, but the drawback is that one cannot >> interleave the rendering order. >> >> Is there a particular problem you are trying to solve? Perhaps it can be >> implemented in another way. >> >> Cheers, >> Orson >> >> On 8/3/19 11:09 PM, Jeff Young wrote: >>> How do I interleave a GAL non-cached layer with cached layers? >>> >>> The selection shadow is currently non-cached, but because of that is always >>> drawn behind device fills. Is there a way to put it between LAYER_DEVICE >>> and LAYER_DEVICE_BACKGROUND (both of which are cached in OpenGL)? >>> ___ >>> 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
Re: [Kicad-developers] GAL layer question
Hi Tom, I don’t know a thing about them but it’s probably time I bone up on this whole OpenGL thing anyway, so I’ll look into it. Cheers, Jeff. > On 7 Aug 2019, at 19:17, Tomasz Wlostowski wrote: > > On 07/08/2019 19:45, Jeff Young wrote: >> Hi Orson, >> >> I wanted to keep the selection highlight shadows uncached, but they need to >> go above the device backgrounds and sheet backgrounds. >> >> I can go ahead and put them in cached. (I just need to add some code to >> redraw them when the zoom level changes.) > > Hi Jeff, > > How about using a shader for drawing selection highlights/overlays in > OpenGL (fallback has no distinction between cached/noncached anyway)? > > 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
Re: [Kicad-developers] GAL layer question
On 07/08/2019 19:45, Jeff Young wrote: > Hi Orson, > > I wanted to keep the selection highlight shadows uncached, but they need to > go above the device backgrounds and sheet backgrounds. > > I can go ahead and put them in cached. (I just need to add some code to > redraw them when the zoom level changes.) Hi Jeff, How about using a shader for drawing selection highlights/overlays in OpenGL (fallback has no distinction between cached/noncached anyway)? 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
Re: [Kicad-developers] GAL layer question
Hi Orson, I wanted to keep the selection highlight shadows uncached, but they need to go above the device backgrounds and sheet backgrounds. I can go ahead and put them in cached. (I just need to add some code to redraw them when the zoom level changes.) Cheers, Jeff. > On 7 Aug 2019, at 13:24, Maciej Suminski wrote: > > Hi Jeff, > > I am afraid it is not possible. We use two framebuffers for rendering: > the cached one keeps in the video memory vertices that are not likely to > change in the near future, the non-cached is for vertices that are > modified (e.g. dragged tracks) and are send to the GPU every frame. > > To boost the performance even further, the framebuffers take advantage > of composition. The framebuffers are rendered to textures, then they are > blitted on the screen: first cached, then non-cached. Thanks to that, > the cached framebuffer might be reused for many frames when only > non-cached items are updated, but the drawback is that one cannot > interleave the rendering order. > > Is there a particular problem you are trying to solve? Perhaps it can be > implemented in another way. > > Cheers, > Orson > > On 8/3/19 11:09 PM, Jeff Young wrote: >> How do I interleave a GAL non-cached layer with cached layers? >> >> The selection shadow is currently non-cached, but because of that is always >> drawn behind device fills. Is there a way to put it between LAYER_DEVICE >> and LAYER_DEVICE_BACKGROUND (both of which are cached in OpenGL)? >> ___ >> 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
Re: [Kicad-developers] GAL layer question
Hi Jeff, I am afraid it is not possible. We use two framebuffers for rendering: the cached one keeps in the video memory vertices that are not likely to change in the near future, the non-cached is for vertices that are modified (e.g. dragged tracks) and are send to the GPU every frame. To boost the performance even further, the framebuffers take advantage of composition. The framebuffers are rendered to textures, then they are blitted on the screen: first cached, then non-cached. Thanks to that, the cached framebuffer might be reused for many frames when only non-cached items are updated, but the drawback is that one cannot interleave the rendering order. Is there a particular problem you are trying to solve? Perhaps it can be implemented in another way. Cheers, Orson On 8/3/19 11:09 PM, Jeff Young wrote: > How do I interleave a GAL non-cached layer with cached layers? > > The selection shadow is currently non-cached, but because of that is always > drawn behind device fills. Is there a way to put it between LAYER_DEVICE and > LAYER_DEVICE_BACKGROUND (both of which are cached in OpenGL)? > ___ > 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
[Kicad-developers] GAL layer question
How do I interleave a GAL non-cached layer with cached layers? The selection shadow is currently non-cached, but because of that is always drawn behind device fills. Is there a way to put it between LAYER_DEVICE and LAYER_DEVICE_BACKGROUND (both of which are cached in OpenGL)? ___ 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