# pcb-rnd devlog

## what's missing for: opengl

What we don't have:

- rendering with opengl
- utilizing the 2d or 3d hardware acceleration of the GPU in drawing
- transparent copper layers
- on some CPU+GPU combination the current software rendering is slower than mainline's opengl rendering

Why we don't have it:

- I don't have a hardware+driver combination where opengl rendering works at acceptable speed
- I have no experience with opengl programming
- I am not much interested in changing any of the above two

What's needed:

- 1. split the gtk hid into:
  - a generic gtk UI feature plugin (menu, widgets, controls, no drawing)
  - a gtk-gdk (software render) HID plugin that depends on the gtk feature plugin
  - an gtk-opengl HID plugin that depends on the gtk feature plugin and on the opengl utility plugin
- 2. get scconfig to detect opengl headers/libs
- 3. resurrect the opengl utility plugin
- 4. resurrect the opengl drawing code

How we could have it, gtk+gl:

- A. contribute: I can do 1. and 2. so you need to concentrate only on the opengl part (3. and 4.);
- B. or donation/sponsoration:
  - buy the time of a random developer for point 3. and 4.; I can still do 1. and 2. in free time, scheduled with the other pcb-rnd duties
  - buy my time so I don't need to sit in my regular job but have a few days off to do all four points

How we could have it, long term:

- I plan to write an SDL2 based HID
- SDL2 has transparent render support for both software and accelerated drawing, the latter probably means 2d hardware acceleration which is probably as good as direct opengl drawing would be

What we can't do:

- make transparent layers with the current gtk/gdk software render (too much effort)
- make transparent layers with lesstif (too much effort)
- speed up the software render