[Lazarus] TOpenGLControl: multisampling not working (Linux/GLX)

Mattias Gaertner nc-gaertnma at netcologne.de
Tue Feb 26 16:53:25 CET 2013


On Tue, 26 Feb 2013 15:51:52 +0100
Reimar Grabowski <reimgrab at web.de> wrote:

> On Tue, 26 Feb 2013 06:17:04 +0100
> Michalis Kamburelis <michalis.kambi at gmail.com> wrote:
> 
> > What is weirder is that I can get multi-sampling on both these systems 
> > (both Radeon and NVidia) with a very similar multi-sampling code inside 
> > my Castle Game Engine TCastleWindow class (that directly uses GTK and 
> > GTKGlExt, without Lazarus TOpenGLControl, to create window with OpenGL 
> > context)
> GTKGLExt may be the thing making it work. 

A quick look at the gtkglext-1.2.0 sources didn't reveal anything
special about multisampling.
The first noticeable thing of gtkglext code is the special color map.


> I don't have enough details but searching around the net showed that
> GTKGLArea does not support multisampling. AFAIR TOpenGLControls code is
> based on this. 

Yes.


> The lazarus forum post I linked to in another mail showed multisampling did work for the OpenGL examples that come with FPC. Multisampling does work with GTKGLExt as your engine shows. So I still think it is a problem with GDK but that is just a gut feeling.

The GLGtkGlxContext only uses the gdk function gdk_colormap_new.
And it let the gtk create the XWindow. It seems gtkglext does not
create the XWindow too.


> Perhaps TOpenGLControl can be rewritten to use GTKGLExt following your code if your license permits it. It's a shame that the GTK guys did not get their act together and don't offer a standard way of context creation like virtually every other widgetset does since years.

Indeed. And the last release of gtkglext is 1.2.0 from 2006.

Mattias




More information about the Lazarus mailing list