Go Back   nV News Forums > Linux Support Forums > NVIDIA Linux

Newegg Daily Deals

Reply
 
Thread Tools
Old 07-01-03, 09:50 AM   #1
crazney
Registered User
 
Join Date: Jul 2003
Posts: 2
Default GL_ARB_vertex_buffer_object

Hi There,

I was wondering if anyone had tried out the new(ish) GL extension GL_ARB_vertex_buffer_object..

Its apparantly supported by the new drivers..

glxinfo | grep ARB_vertex_buffer
GL_ARB_transpose_matrix, GL_ARB_vertex_buffer_object,


anyway.. I tried implementing some stuff with this extension... and for some reason the FPS on my particular app almost quartered (went from about 75fps to 25 or so)..

Is this extension currently buggy in NVIDIAs latest drivers (1.0-4363)?.. or am I just doing something wrong?.. Is there any size for these vertex buffers that is 'too big' (is there an optimum size?).

By the way, I'm using a GF2GTS.

Anyone else tried it out? What kind of results have you gotten?

Thanks.
crazney is offline   Reply With Quote
Old 07-01-03, 04:01 PM   #2
Codeboy
Registered User
 
Join Date: Jul 2003
Posts: 14
Send a message via AIM to Codeboy
Default GL_ARB_vertex_buffer_object

I've used it a little bit. Performance was pretty close to using NV_vertex_array_range. How are you using it?
Codeboy is offline   Reply With Quote
Old 07-01-03, 07:08 PM   #3
crazney
Registered User
 
Join Date: Jul 2003
Posts: 2
Default

hrm, well i'm about to go away, so I'll tell you how i'm doing it on friday when I get home..

But anyway.. I'm using a gf2 (since my gf3 died).. So I got a friend to try it out using a gf4 - he sees about a 4 fold increase in performance.. I see about a 4 fold decrease.

So maybe the gf2 has a buggy vertex buffer implementation?

I'll email nvidia when I get home I guess.
crazney is offline   Reply With Quote
Old 07-01-03, 07:37 PM   #4
Codeboy
Registered User
 
Join Date: Jul 2003
Posts: 14
Send a message via AIM to Codeboy
Default GL_ARB_vertex_buffer_object

Based on some DirectX restrictions on that hardware, I think it might be worth trying interleaving all your vertex data (you can use the stride parameter to gl*Pointer to do this, no need to use glInterleavedArrays) in a single vertex buffer object, and make sure the buffer object contains fewer than 64k vertices -- and use unsigned short indices instead of unsigned int. If your geometry is bigger than this, split it into multiple vertex buffers and multiple glDrawRangeElements calls.

Just some things to try ... HTH. Good luck.
Codeboy is offline   Reply With Quote
Old 05-20-04, 01:52 PM   #5
jnygaard
Registered User
 
Join Date: Feb 2004
Location: Oslo, Norway
Posts: 5
Default Re: GL_ARB_vertex_buffer_object

Just hooking on to an existing thread... I want to use the extension, extension inquiry tells me that it's available (I have the 5336 driver, running Linux) but for some reason I had to manually extract the prototype from the glext.h file and manually insert it in my program, don't quite understand why, since the file is actually included, but anyway...

The main problem though, is that the linker cannot resolve the proper calls:

bombadil 29>/usr/local/gcc-3.2.1/bin/g++ -L../sisl -L../gluttools -L../utils -L../simpletri -L/usr/X11/lib sisl_view.o auxi.o draw_segments.o lorenz.o read_curves.o read_nurbs_sf.o refl.o sisl_aux.o surftools.o tri_refine.o tri_thin.o trisupport.o -lsisl -lgluttools -lutils -lsimpletri -lglut -lGLU -lGL -lXi -lXmu -o sisl_view
sisl_view.o(.text+0x2303): In function `draw_triangulation(int, int)':
/home/jnygaard/smlc/sisl_view/sisl_view.C:774: undefined reference to `glBindBufferARB(unsigned, unsigned)'
sisl_view.o(.text+0x243b): In function `draw_triangulation(int, int)':
/usr/local/gcc-3.2.1/include/c++/3.2.1/bits/stl_vector.h:261: undefined reference to `glBufferDataARB(unsigned, int, void const*, unsigned)'
collect2: ld returned 1 exit status
bombadil 30>

I simply do not understand what is missing, since everything else seems to work... Any ideas?
jnygaard is offline   Reply With Quote
Old 05-20-04, 02:47 PM   #6
jnygaard
Registered User
 
Join Date: Feb 2004
Location: Oslo, Norway
Posts: 5
Default Re: GL_ARB_vertex_buffer_object

Ok, I found the problem... Needed to wrap the prototypes in an extern "C" { ... } declaration... That did the trick!
jnygaard is offline   Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 09:28 AM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.