I’m using VAR with vertex data in video memory on the geforce, and as I can’t find an equivalent for the radeon, I’m falling back to vertex arrays in system memory for the radeon.
I guess I could use display lists, but I dislike the memory overhead. Is there an equivalent of wglAllocateMemoryNV on the radeon that I can’t find?
Remember, each submission to the graphics driver (each call to, say, glDrawElements) has some amount of overhead. You’re often better off using software skinning optimized for your CPU into one big temporary vertex buffer, and then drawing the entire mesh in one go.
quoting directly from an ATI reply on the same subject!!
‘For the Vertex Array Range equivalent, we have an upcoming equivalent (but better extension: ATI_vertex_array_store. This shipping is dependent on something else being used in the driver, so I
don’t know the exact timeframe. The extension is still not exposed and therefor please do not comment on it to anyone else, this is strictly for your information right now.’
You can save a bit of frame overhead by only clearing the depth
buffer. Radeon has an extremey fast depth clear. This is
dependent on your scene content obviously.
The ATI_vertex_array_object and ATI_element_array extensions are what you’re looking for here. They allow you to store vertex and index information in hardware-accessible memory. These extensions will be supported in the very near future on RADEON and RADEON 8500 drivers. For more information on these extensions, see our white paper Fast Geometry Processing with ATI_vertex_array_object and ATI_element_array .
For your skeletal animation, ARB_vertex_blend may also be of use. Can you describe your current skeletal animation technique?
-JasonM
[This message has been edited by JasonM [ATI] (edited 09-25-2001).]