← Back to team overview

kicad-developers team mailing list archive

Re: GerbView GAL

 

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