← Back to team overview

kicad-developers team mailing list archive

Re: GerbView GAL

 

Hi,
the drills are rendered correctly now, thank you. If i recall correctly
this (the GAL Gerbview) is another milestone towards v5.

A (very) minor issue remains though: Exiting Gerbview takes a few seconds
if several layers are loaded.
The time seems to related to the complexity of the layers. A simple
silkscreen (B.Silk) or a big ground plane
does not take long to exist from. But if F.Cu, B.Cu + F.Silk layers are
loaded there is a noticeable delay.


 - Michael


On Tue, Sep 12, 2017 at 12:25 AM, Michael Geselbracht <
mgeselbracht3@xxxxxxxxx> wrote:

> Ok, first zip then gmail; I don't know if my last post has reached anyone.
> I tried to send a proper file...
>
> The context menu is working now as expected.
>
>  - Michael
>
>
> On Mon, Sep 11, 2017 at 11:56 PM, Michael Geselbracht <
> mgeselbracht3@xxxxxxxxx> wrote:
>
>> Hi,
>> the build process is working right now.
>> In the meantime I recreated the zip file. Apparently I forgot the -r
>> option... (beginner's error).
>>
>>  - Michael
>>
>>
>> On Mon, Sep 11, 2017 at 11:48 PM, Jon Evans <jon@xxxxxxxxxxxxx> wrote:
>>
>>> Hi Michael,
>>>
>>> The first issue you raised with the layer manager context menu has now
>>> been fixed I think; please check it if you have a chance.  Could you send
>>> me a drill file (maybe off the list) that does not render for you?  I
>>> checked a few of my drill files and they do render.
>>>
>>> Thanks,
>>> Jon
>>>
>>> On Mon, Sep 11, 2017 at 5:16 PM, Jon Evans <jon@xxxxxxxxxxxxx> wrote:
>>>
>>>> HI Michael,
>>>> Thanks for the report, I will look in to this -- I suspect I broke the
>>>> drill display in a recent commit.
>>>> But, your attachment did not come through for me, it just shows an
>>>> empty zip file for me.
>>>>
>>>> Thanks,
>>>> Jon
>>>>
>>>> On Mon, Sep 11, 2017 at 5:07 PM, Michael Geselbracht <
>>>> mgeselbracht3@xxxxxxxxx> wrote:
>>>>
>>>>> Hi.
>>>>> although I am not a maintainer I took the liberty to test the code.
>>>>> I am not sure if this is appropriate but since I am using kicad-master
>>>>> on a daily basis a merge into master would directly affect me.
>>>>>
>>>>> Just in case you do not already know there seem to be some issues with
>>>>> the gerbview_gal branch:
>>>>>
>>>>> 1. Layer context menu entries "Hide all layers but active" and "Always
>>>>> hide all layers but active" do not seem to work. All layers are initially
>>>>> hidden and "always" is a NOP.
>>>>> 2. NPTH drills are not displayed correctly or no drills are displayed
>>>>> at all.
>>>>>
>>>>> I have attached a zip file with two examples. Test1 is a NPTH drill
>>>>> file that is not displayed correctly. Test2 files are not displayed at all
>>>>> (black screen).
>>>>> There a two screenshots for test1.
>>>>>
>>>>> Tested under Linux with NVidia drivers.
>>>>>
>>>>>  - Michael
>>>>>
>>>>>
>>>>> Application: gerbview
>>>>> Version: (2017-09-09 revision 61b588353)-gerbview_gal, release build
>>>>> Libraries:
>>>>>     wxWidgets 3.0.2
>>>>>     libcurl/7.47.0 OpenSSL/1.0.2g zlib/1.2.8 libidn/1.32 librtmp/2.3
>>>>> Platform: Linux 4.10.0-33-generic x86_64, 64 bit, Little endian, wxGTK
>>>>> Build Info:
>>>>>     wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8) GTK+
>>>>> 2.24
>>>>>     Boost: 1.58.0
>>>>>     Curl: 7.47.0
>>>>>     Compiler: GCC 5.4.0 with C++ ABI 1009
>>>>>
>>>>> Build settings:
>>>>>     USE_WX_GRAPHICS_CONTEXT=OFF
>>>>>     USE_WX_OVERLAY=OFF
>>>>>     KICAD_SCRIPTING=ON
>>>>>     KICAD_SCRIPTING_MODULES=ON
>>>>>     KICAD_SCRIPTING_WXPYTHON=ON
>>>>>     KICAD_SCRIPTING_ACTION_MENU=OFF
>>>>>     BUILD_GITHUB_PLUGIN=ON
>>>>>     KICAD_USE_OCE=ON
>>>>>     KICAD_SPICE=ON
>>>>>
>>>>>
>>>>> On Mon, Sep 11, 2017 at 9:26 PM, Jon Evans <jon@xxxxxxxxxxxxx> wrote:
>>>>>
>>>>>> Thanks JP.
>>>>>> For #2, it is a matter of the difference between OpenGL and Cairo
>>>>>> implementation of transparency and occlusion in our GAL.  Cairo also has
>>>>>> the issue that each draw item is composited with transparency, even on a
>>>>>> single layer. (maybe that is what is wanted with transparent items
>>>>>> sometimes, but it is an inconsistency between OpenGL and Cairo that needs
>>>>>> to be resolved).
>>>>>>
>>>>>> I think one solution could be to interpret negative items at the
>>>>>> geometry creation stage rather than at the rendering stage.  That is, if
>>>>>> you have a negative item on a layer, do a boolean subtraction from the
>>>>>> existing positive geometry.  Then just pass the resulting geometry to the
>>>>>> GAL to draw, rather than trying to add support to GAL for drawing
>>>>>> "subtractively" like was done in wxDC.
>>>>>>
>>>>>> -Jon
>>>>>>
>>>>>> On Mon, Sep 11, 2017 at 2:44 PM, jp charras <jp.charras@xxxxxxxxxx>
>>>>>> wrote:
>>>>>>
>>>>>>> Le 10/09/2017 à 02:42, Jon Evans a écrit :
>>>>>>> > Hi all,
>>>>>>> >
>>>>>>> > I've finally had time in the last few weeks to make more progress
>>>>>>> on GerbView GAL.
>>>>>>> >
>>>>>>> > While it's not perfect, I think it is far enough along to propose
>>>>>>> merging into the main repo, so
>>>>>>> > that more people can start testing it and hopefully we can fix any
>>>>>>> bugs and perhaps get more people
>>>>>>> > working on the remaining features.
>>>>>>> >
>>>>>>> > There are two big missing features:
>>>>>>> > 1) Printing (still uses the wx canvas)
>>>>>>> > 2) Negative images
>>>>>>> >
>>>>>>> > The first one probably involves porting the print engine from wxDC
>>>>>>> to Cairo, and the second one
>>>>>>> > probably can be implemented by doing transformations of the
>>>>>>> negative geometry into positive geometry
>>>>>>> > for rendering (negative images are implemented using the wxDC
>>>>>>> compositing mode which GAL doesn't
>>>>>>> > support right now).
>>>>>>> >
>>>>>>> > Other than those things, everything I have tried is working (all
>>>>>>> of the test files in the source
>>>>>>> > tree and a number of my own boards).
>>>>>>> >
>>>>>>> > I'd like some input from the maintainers about whether or not this
>>>>>>> is in an acceptable state to
>>>>>>> > merge into master, and if not, what changes I should make first.
>>>>>>> If everything looks okay, I will
>>>>>>> > format my branch into a series of patches and send to the list.
>>>>>>> >
>>>>>>> > You can view the source here:
>>>>>>> > https://github.com/craftyjon/kicad/tree/gerbview_gal
>>>>>>> > or clone
>>>>>>> > git@xxxxxxxxxx:craftyjon/kicad.git
>>>>>>> > and checkout gerbview_gal
>>>>>>> >
>>>>>>> > Best,
>>>>>>> > Jon
>>>>>>>
>>>>>>> Thanks Jon for all this (great) work.
>>>>>>> I tested you branch and it is very acceptable to me.
>>>>>>> And I know maintaining a branch during a long time when it has a lot
>>>>>>> of changes is really not easy.
>>>>>>>
>>>>>>> I saw a few (minor) issues, but nothing blocking. They can be fixed
>>>>>>> later.
>>>>>>>
>>>>>>>
>>>>>>> My remarks:
>>>>>>>
>>>>>>> * "1) Printing (still uses the wx canvas)":
>>>>>>> This is also true for Pcbnew. this is not specific to Gerbview.
>>>>>>>
>>>>>>> * I noticed negative objects are well drawn in Opengl canvas, but
>>>>>>> not in Cairo canvas.
>>>>>>> Just an idea: Gerbv uses Cairo canvas, so perhaps having a look at
>>>>>>> Gerbv could help.
>>>>>>>
>>>>>>> * "2) Negative images": I cannot not help you about that:
>>>>>>> my knowledge of Opengl or Cairo is very basic.
>>>>>>> Perhaps CERN guys can help you.
>>>>>>>
>>>>>>> --
>>>>>>> Jean-Pierre CHARRAS
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Mailing list: https://launchpad.net/~kicad-developers
>>>>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>>>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>>>>> More help   : https://help.launchpad.net/ListHelp
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Follow ups

References