← Back to team overview

kicad-developers team mailing list archive

Kicad GAL branch announcement

 

Dear developers,

As Lorenzo has already unveiled part of the message, I think it should be announced in the public list, so everyone knows what is the talk about.

I would like to present you the preview version of the Graphics Abstraction Layer-based rendering engine for Kicad, done according to the following specification:

http://www.ohwr.org/attachments/1884/view-spec.pdf

The branch is mostly based on efforts of Dick Hollenbeck, Torsten Hueter, Tomasz Wlostowski and mine. Currently it uses OpenGL GAL backend for rendering PCBs in pcbnew, with Cairo support compiled in but disabled due to some graphical
glitches that we still have to debug.

I'm eagerly waiting for your feedback - please rememeber that this is just a demo, it lacks some features, and despite our efforts it may not compile on platforms other than Linux (with wxWidgets 2.8.12/2.9.4 & Cairo 1.10) and Win32 (with wx 2.9).

You can download it from my branch in Launchpad and compile it with CMake flag KICAD_GAL=ON:

bzr branch lp:~orsonmmz/kicad/kicad
mkdir build
cd build
cmake -DKICAD_GAL=ON -DKICAD_TESTING_VERSION=ON ..
make

After starting up pcbnew you can switch between GAL and legacy rendering using Alt+F12 hot key or via View->Switch canvas menu option. I hope you will notice some speedup during panning & zooming. Currently GL renderer is not much faster than the legacy one, but there is a lot of room for optimization (that is, caching the board geometry in hardware buffers, which will likely increase the performance
by an order of magnitude).

More details about changes introduced by us can be found in the bzr log (personally I recommend revision 4029 changelog, as it was the biggest change [http://bazaar.launchpad.net/~orsonmmz/kicad/kicad/revision/4029]). Note that the GAL view is currently not editable - as the GAL has no XOR rendering, editing tools will have to be modified to take advantage of the new renderer.

Regards,
Maciej Sumiński, CERN


Follow ups