← Back to team overview

kicad-developers team mailing list archive

Re: 3D-Viewer - Request for merge evaluation

 

Hi Collin,
Thanks for testing it on OS X! First feedback I got from OS X.

You are right on your explanations about anti-aliasing.

> In this case, only the check to see if it is supported is broken.

That is correct, it was the check / mechanism for enable that option that 3D-Viewer and wxGL was using.
The anti-alising process is something done by the GPU, so, it is more close to the Silicon.

Mario
________________________________________
From: Collin Anderson [metacollin@xxxxxxxxxxxx]
Sent: 24 June 2016 11:31
To: Nick Østergaard; Mário Luzeiro
Cc: kicad-developers@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Kicad-developers] 3D-Viewer - Request for merge evaluation

Antialiasing is not dependent on wx.  wx doesn't actually need to support or not support it.  The bug in question is that wx doesn't really ask the driver if multisampling (antialiasing) is supported the way windows wants, so it incorrectly repots that it doesn't work.

However, antialiasing/multisampling is entirely the domain of the driver.  Many drivers (at least windows one, such as if you install Catalyst Control Center in windows for example) allow you to override applications that ask for a nonmultisampled context.  Basically, wx takes what the driver gives it (as does everything else) so if the context is multisampled, it is multisampled.  It's not something wx really has the option of supporting or not supporting.  In this case, only the check to see if it is supported is broken.

That said, virtually every driver that supports MSAA (multisample anti-aliasing) also has it turned on by default.  Honestly, just letting the driver give the context it gives is a perfectly valid solution.  Often, there will only be code that is there specifically to turn MSAA off (for performance, if needed) but it won't ever be explicitly turned on.
--
________________________________________
From: Collin Anderson [metacollin@xxxxxxxxx]
Sent: 24 June 2016 11:00
To: Mário Luzeiro
Cc: jp charras; kicad-developers@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Kicad-developers] 3D-Viewer - Request for merge evaluation

Mário, I've been playing with your branch under OS X, and it is very nice work, I'm excited to see it merged into the main branch!

I would recommend using glew to query driver extensions directly.  This will add a little work since you will need to do platform specific checks (wgl and glx) for certain things (multisampling is one of them), but it's the best way to get results that are very probably correct (I say probably because sometimes a driver will lie.  Lovely, I know :)  )

Specifically, checking for the necessary wgl and glx multisampling extensions will let you know better than wx will.  That said, in my experience, multisampling will almost always be enabled by default in a context if it is supported. Indeed, in most drivers, the user can even override what sort of context an application requests and force a multi sampled one instead.  So it may not really even be worth your trouble, letting the platform defaults handle multisampling stuff is, in my opinion, a perfectly acceptable solution.

"Violence is the last refuge of the incompetent." - Isaac Asimov



Follow ups

References