← Back to team overview

kicad-developers team mailing list archive

Re: GerbView GAL

 

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
>>>
>>>
>>
>

References