← Back to team overview

kicad-developers team mailing list archive

Re: Cairo rendering backend

 

On 11/07/2013 10:10 PM, Lorenzo Marcantonio wrote:
On Thu, Nov 07, 2013 at 01:30:44PM -0600, Dick Hollenbeck wrote:
At what point is is cheaper to buy the KiCad user a new computer, than it is to write
software for his incompatible computer?

Well, toughbooks are not exactly cheap even on the used market :D
I don't know where you live but here machines about 5-10 years old are
pretty normal; at least try to support the 5 year old ones:D
(beside: incompatibility of new PCs with win3.1 software IS an issue...
we have a lot of virtualboxes running for this)

Even these days Intel/Tungsten GPUs are everywhere on the middle/low end
laptop segment, so I think it's not a good idea to say 'will only works
on ATI or NVIDIA'. Also many open drivers are not exactly up to speed
with the latest hardware.

I have never said that it only works with nVidia or ATI (I would rather suspect that ATI could make issues) - I have an integrated Intel GPU in my notebook and it works fine.

So if it is not really unconvenient to develop for, I'd stick with the
low-end of the graphics API.

As for Intel GPUs wikipedia confirms that opengl 2 is only from the
960/965 on. Previous GPU seems to do only pixel shading (and only with
1.4 extensions).

Question: do we really need gl2 for kicad? I can't think of something
useful which couldn't be done with the usual fixed function pipeline.

Probably you could do that with the fixed pipeline, but shaders are used to speed up things. For example - to draw a circle you may use one triangle and shade it, so it appears as a very smooth circle. With fixed pipeline you have to draw a triangle fan, consisting of as many triangles as you wish to make the circle look like a circle (as far as I remember at first it was 64 triangles, before introducing shaders). Another case are lines, you either have to draw them with a certain width. If you zoom out too far, they should still be drawn, at least 1 pixel wide. It gives you choice - resend lines in a batch every time one zoom in/out or keep them in GPU memory (VBO) and shade them to the right width. To use vertex buffer objects, that drastically increase the performance, you need to support at least OpenGL 1.5. The other extension that is used are framebuffer objects. In the specification it says that it requires OpenGL, but somehow Intel Atom GPUs that are said to support OpenGL up to version 1.4 lack that feature..

Regards,
Orson


Follow ups

References