Forum

Bad extension support

Discuss programming topics that involve the OpenGL API.

Moderator: InsideQC Admins

Bad extension support

Postby Labman » Fri Oct 09, 2009 3:14 am

Why say you support VBO but then don't actually support the function use.

When I use the glGenBuffers it just returns 0 which means no buffer. Nice work VIA, you guys are awesome!
Labman
 
Posts: 62
Joined: Fri Nov 05, 2004 2:39 am
Location: Cambridge, United Kingdom

Postby revelator » Fri Oct 09, 2009 4:50 am

heh funny that you mention it i actually had the same experience a while back with the same function. actually in something as old as phoenix quake.

even the newest compiler on the newest platform os tells me that this function is null and void :lol:
User avatar
revelator
 
Posts: 2567
Joined: Thu Jan 24, 2008 12:04 pm
Location: inside tha debugger

Postby Labman » Tue Oct 13, 2009 4:35 am

Now its returning a valid buffer id but it segfaults when it tries to render the vbo :(
Labman
 
Posts: 62
Joined: Fri Nov 05, 2004 2:39 am
Location: Cambridge, United Kingdom

Postby Spike » Tue Oct 13, 2009 9:16 am

What happens if you use self-chosen ids?
Spike
 
Posts: 2892
Joined: Fri Nov 05, 2004 3:12 am
Location: UK

Postby Labman » Fri Oct 30, 2009 8:27 pm

Just thought I should say that I was a bit quick to blame S3 here, was some weird stuff caused by the automatic opengl extension loading lib I was using. That and glBufferData and glBufferDataARB are not the same function. One works and one doesn't.

I've got it all working now but I didn't get any speedup from it :(
Labman
 
Posts: 62
Joined: Fri Nov 05, 2004 2:39 am
Location: Cambridge, United Kingdom

Postby mh » Fri Oct 30, 2009 9:04 pm

Labman wrote:Just thought I should say that I was a bit quick to blame S3 here, was some weird stuff caused by the automatic opengl extension loading lib I was using. That and glBufferData and glBufferDataARB are not the same function. One works and one doesn't.

I've got it all working now but I didn't get any speedup from it :(

Are you locking and refilling it every frame? That's not good for VBOs, for the same reason as texture uploads during runtime aren't good. What you need is one single big VBO containing all of your static geometry (verts and texcoords don't change), then render each visible surfs from the surfs offset in that. Everything else needs to be done without a VBO. Even with the most optimal strategy (including use of shaders for any texcoord modification you do), a hardware VBO will only give about 10% speedup on Quake owing to the BSP architecture, so it's probably not worth it. Other apps with different architectures may give better or worse results.
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am

Postby Labman » Sat Oct 31, 2009 11:04 pm

I upload the VBO once at the start of the application, I think that the lack of dedicated graphics memory is more likely the reason for no speed ups however.
Labman
 
Posts: 62
Joined: Fri Nov 05, 2004 2:39 am
Location: Cambridge, United Kingdom

Postby mh » Sun Nov 01, 2009 12:00 am

Labman wrote:I upload the VBO once at the start of the application, I think that the lack of dedicated graphics memory is more likely the reason for no speed ups however.

Yeah, that would be correct. I've found the same in D3D. It's only really worthwhile on a hardware T&L card, and only really usable if you can modify verts and texcoords using shaders (otherwise you're stuck with totally static and scrolling textures, water warps, and suchlike won't work at all).
We had the power, we had the space, we had a sense of time and place
We knew the words, we knew the score, we knew what we were fighting for
User avatar
mh
 
Posts: 2292
Joined: Sat Jan 12, 2008 1:38 am


Return to OpenGL Programming

Who is online

Users browsing this forum: No registered users and 1 guest