NV_vertex_array_range extension

Hi, I was wondering if has anyone used the extention mentioned on the subject.
It is supposed to speed up things alot on Geforce cards.

I was having some difficulties setting the extension up. Can someone give me some info on the procedure???

Please reply and I can tell you more about it and what bothers me.

I’ve used the extension. What seems to be the problem?

Heres a link to a demo with source code using the extension.
http://www.nvidia.com/marketing/developer/devrel.nsf/TechnicalDemosFrame?OpenPage

Be warned though…the demos excellent performance is achieved by using calculated vertices & normals and a single colour. Changing the code to display my data and take vertices,normals and colours from memory reduced the performance from 11M poly/sec to 4M poly/sec. I put this to down to a memory bottleneck on my non-DDR geforce. My app ran at 3.5M poly/sec prior to VAR.

I sent you a mail about that question Cass, but you did not reply to me
so I asked it on the list.

Anyway, I develop under nvidia/linux and I cannot getProcAddress to any
functions of the GL_FENCE_NV, although the NV_vertex_array_range functions
load correctly, like the glAllocateMemoryNV and the rest.

First of all I would like to ask you if I do not use the NV_FENCE (the
nvidia docs say it is possible) what happens if the frame geometry exceeds
the allocated memory.

Is this geometry lost or is it drawn with the usual
way, without vertex_range???

I tried to implement vertex_range without fences and I got no screen
output.
For the Arrays I use:
Vertex 3 FLOAT
Color 4 FLOAT
Normal 3 FLOAT
TecCoord 2 FLOAT

Is there something wrong with my types??? Nvidia says something about
a 4 stride on the arrays…

My program flow:

  • Allocate memory with glXAllocateMemoryNV

  • glVertexArrayRangeNV(MEMSIZE*sizeof(GLfloat), big_array);

  • glEnableClientState(GL_VERTEX_ARRAY_RANGE_NV);

  • Loop:

  • Enable the rest of the arrays as usual

  • set the pointers with glVertexPointer…

  • glDrawElements(…)

  • glFlushVertexArrayRangeNV();

  • Loop the above

Do I do something wrong??? I believe there is something wrong with
copying the data to the video/agp memory… Can you spot the problem???

Thanks beforehand