PyOpenGL on Linux: waiting for hardware acceleration

David Konerding dek at nano.ucsf.edu
Mon May 10 21:36:52 EDT 1999


On Tue, 11 May 1999 01:05:19 GMT, srenner at lycosmail.com <srenner at lycosmail.com> wrote:
>
>
>> If you are have a 3dfx based graphics card, then 3d hardware
>> acceleleration+linux+mesa+python works fine. I've had this working for
>> some time now (toy usage only though).
>>
>> The major drawback - with the card that I have 3d can only be fully
>> accellerated with full screen output. Output to a window requires a
>> copy of the frame, which slows things down alot (but it still much
>> faster than software only mesa).

I've found it to be slower than software Mesa except when using
textures.  The Voodoo does texturing blazingly fast.  I can easily get
75 FPS (the refresh rate limit) for texture mapped scenes that 
have 4 or 5 polygons.  When you crank the geometry higher, things slow
down but that's because all ot he geometry work is being done slowly in
software by Mesa.

>
>OK, that is somewhat encouraging. How does this full screen stuff
>work? Do you have to kill the X server first? And how can you debug
>without a shell window?

No, the X server hangs around.  The Voodoo card is actually a 3D
passthrough, which mean you plug the output of the 2D video card
into the input of the 3D card, then the output of the 3D card to the
monitor.  Basically it just lets all the normal just "pass through"
but when the Voodoo fullscreen mode is activated, it drops te
2D stuff and you only see the 3D fullscreen.  WHen you quit the
2D screen comes back as it was originally.

As for debugging: I write and debug in software mode, then
run with the Voodoo card when I want to see it for real.
This is straightforward since you can just load a different
version of MesaGL (the Voodoo version) at runtime using
the LD_LIBRARY_PATH or LD_PRELOAD environment variables.

As an alternative, some serious progress isbeing made on an 
X server GLX extension.  This works in software mode (it
dynamically loads MesaGL into the X server at runtime)
but now that Matrox has releasd the specs for the G200 some
support for that card is going into the GLX server.  This works
quite well, because it renders to an X window.  The problems
are 
1) It's not highly optimized yet
2) The x server and mesaGL are single process; if you're rendering
and it takes 1 second to render the frame, youlose interactivity
for 1 second each time a frame renders. 

Most people are waiting around for PRecision Insight to release
their patches to the linux kernel and XFree x server to enable
direct rendering.  This seems to be the most promising infrastructure
for the future.

Dave
-- 
--------------------------------------------------------------------------------
Email: dek at cgl.ucsf.edu    David Konerding     WWW: http://picasso.ucsf.edu/~dek
--------------------------------------------------------------------------------
Snail: Graduate Group in Biophysics
Medical Sciences 926, Box 0446
University of California
San Francisco, CA 94143




More information about the Python-list mailing list