PDA

View Full Version : PBuffer without wglext.h (Win->Linux)



Adler
01-04-2005, 10:02 AM
Hello.

Happy new year.

I use in my Program PBuffers. They work fine. I use them with glut and the wgl Extensions. But now the Programm has to work under Linux, so I need a possiblity to use PBuffers without the W(indows)GL Extensions, need I?

I read that I can use these Extensions under Linux
with NVIDIA Drivers, but I've got an ATI Radeon 9800.

By the way - I need GLSL as well under Linux ;-}

I am a bit confused, so sorry about that. I hope
somebody may give me some hint ;-)

Adler

SirKnight
01-04-2005, 02:50 PM
Under linux pbuffers are used with the extenstions: GLX_SGIX_pbuffer and GLX_SGIX_fbconfig. You could always use the PBuffer class in the NVSDK which takes care of everything for you and works with win and nix. I use the NV PBuffer class since I didn't feel like reinventing the wheel. :D

One thing about GLSL though is it works exactly the same under all platforms, unlike pbuffers which deal with the OSes windowing system, thus the need for different extensions.

EDIT: I miss-read what card you have and had to delete a bunch of crap. :D

-SirKnight

marco_dup1
01-04-2005, 05:12 PM
GLX 1.3 has AFAIK all this extensions in the core.

Adler
01-05-2005, 12:28 AM
Originally posted by SirKnight:
You could always use the PBuffer class in the NVSDK which takes care of everything for you and works with win and nix.
[..]
I miss-read what card you have
I've got a Radeon 9800 from ATI. So, can I use the
NV PBuffer Class as well?

Adler

SirKnight
01-05-2005, 08:58 AM
Yes you can use it on your ATI. Although, since the ATI cards don't support (I don't think they do) the NV_texture_rectangle extension, you won't be able to use rectangle pbuffers with this class. The newest version of the PBuffer class also supports the ati texture float extension which works on both ATI and NVIDIA.

BTW, you can get the latest version here:
http://cvs1.nvidia.com/DEMOS/OpenGL/inc/shared/
-and-
http://cvs1.nvidia.com/DEMOS/OpenGL/src/shared/

Be warned though, you may have to modify pbuffer.cpp. What I did was change '#include <shared/pbuffer.h>' to '#include "pbuffer.h"' I didn't want to put pbuffer.h in a 'shared' directory. :D

-SirKnight