Subject: Re: opengl test...
To: Lubos Vrbka <shnek@chemi.muni.cz>
From: Richard Rauch <rkr@olib.org>
List: netbsd-help
Date: 01/28/2003 10:35:38
Re. http://mail-index.netbsd.org/netbsd-help/2003/01/28/0002.html

OpenGL (via Mesa) works quite nicely on NetBSD.  For
NetBSD/i386 1.6, Mesa is included with the OS (because
it's in XFree86 4.x, which is included with the OS).
Prior to that, and for other ports, you may need to
install Mesa from pkgsrc.

The GLUT has nothing to do with hardware.  It provides a
toolkit for easier handling of the windowing system and
input devices.  (Well, in a sense you could say that it
helps manage the hardware in that way...)  It doesn't have
anything to do with hardware accelerated OpenGL, however.

Mesa has been adapted for hardware acceleration, both as
the independant "Utah" project, and via XFree86's DRI
(Direct Rendering Infrastructure).  Unfortunately, Utah
is a dead-end project that was never more than a stop-gap
while DRI was developed, as I understand it.  On the other
hand, DRI is not supported yet on NetBSD.

I'm not sure about the GLcore module, but glx refers to
the GLX extension to the X server.  GLX is the "normal" way
that OpenGL is added to an X server.  (The OpenGL commands,
at a certain level, get encoded into X protocol commands and
sent to the X server, where the GLX extension completes the
rendering.  I don't know how much, if any, work is done beyond
encapsulating the OpenGL into GLX.  Most, or all, of OpenGL
needs to be handled by the GLX extension.)

Prior to the Utah project and XFree86 4.x, Mesa was not part
of any X server and XFree86 did not have GLX support.  Mesa
faked this by providing the GLX support on the *client* side,
rather than the (X) *server* side.

Having a real GLX extension in the server means that remote
applications that need the real GLX protocol can now work.
(On the other hand, the *old* Mesa library let applications
work on X servers that *lacked* the GLX extension...)


As far as "how well" it works: It should work pretty closely
to the standard.  (Technically, I think that Mesa does not
yet pass all of the tests required for branding as a true
OpenGL implementation, but it's close if it doesn't pass
them all yet.)

Performance is limited by the lack of hardware support.
If you want to play the OpenGL-based Quake III demo, you'll
probably find it frustrating.  For many purposes, though,
it is adequate.


In other words, "It depends".  I'm pretty happy with it,
but can't promise that you will be.


-- 
  "I probably don't know what I'm talking about."  --rkr@olib.org