Jump to content
  • Advertisement
Sign in to follow this  

Buffer Object

This topic is 4516 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi, I'm trying to do buffer object using Mesa3D 6.4.2 on Fedora Core 5. However, when I call glGenBuffers, it doesn't do anything to the array I put in. For example
GLuint Buf = 0;
glGenBuffers( 1, &Buf );
//Buf is still = 0

GLuint Buffers[5];
for ( int i = 0; i < 5; i++ ) { Buffers = 10; }
glGenBuffers( 5, Buffers );
//all elements are still 10

In other words, glGenBuffers does nothing. I'm using glXGetProcAddress to retrieve the function pointer to glGenBuffers by the way. I put it in a wrapper like so:
class GLHelper
void* GetProcAddr( std::string Name ) { return( (void*)glXGetProcAddress( (const GLubyte*)Name.c_str() ) ); }

When I'm running this code under Windows, everything is ok, except that I use wglGetProcAddress instead. Has anyone has this problem or know how to solve it? Thanks

Share this post

Link to post
Share on other sites
I've had issues with Nvidia's drivers (77.xx, I think) but it's something the newest drivers have corrected I think. The problem was with the version of GLX - glXGetProcAddress is itself, you see, part of an ARB extension. To get it to work I had to use glXGetProcAddressARB, whch worked. You can try it if you want.

BTW, I've never used the pristine Mesa3D library - I've heard it's all done in software, is that true?

Share this post

Link to post
Share on other sites
I tried glXGetProcAddressARB and still doesn't work.

Mesa3D is software if you don't compile with DRI.

How do I get other implementations of OpenGL for Linux other than Mesa3D? I'm still confuse about ATI and Nvidia driver stuff.

Share this post

Link to post
Share on other sites
Guest Anonymous Poster
These couple of links might help with NVidia drivers.

http://home.comcast.net/~andrex/Debian-nVidia/ -- debian specific, but illustrates the basic process for using NVidia's installer.

http://www.nvnews.net/vbulletin/forumdisplay.php?s=&forumid=14 -- forum for help on these sorts of things.

Basically, you install Mesa and Mesa dev and so on. You then go get the drivers from NVidia and run the installer. It witters away to itself for a while and plonks a new set of shared objects into the right directory and changes the libGL links to point at them.

You can switch between the software and hardware rendering by changing the links. (Although once you have this running, going back to software rendering feels like someone inside the machine is hand-drawing the images..)

You can then set up X11 to use nvidia's X11 driver and everything should be peachy -- it does also speed up X11 (because it can use more of the 2D core than a generic VGA driver).

There are some extra annoyances about needing DRI and DRM and things like that, but if you have a recent kernel it should all "just work". Certainly when I installed Sarge on a box with a 6600, everything installed out of the box.

Recent attempts on a laptop to install ATI drivers have completely and utterly failed for reasons I have yet to have explained to me by either people or the failing software; the DRM module doesn't install and X.Org versions of X11 simply hang the system bus..

Laptops always seem kooky about these things. Every desktop nvidia system I've tried has been minimally annoying.


Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!