MarcusL
04-22-2001, 04:39 PM
How do you do that properly?
When I start drawing with VARs, it works fine but as soon as I try to draw something with normal arrays I can never get the VAR to work again properly (it retreats into slowmotion, fetching data from agp mem and sending it to the card.)
it should be possible to do this:
main
{
void *mem = glAllocateMemoryNV(1000,0,1,.5)
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_VERTEX_ARRAY_RANGE_NV);
glVertexArrayRangeNV(1000,mem);
loop {
glVertexPointer(.., mem);
glDrawArrays(..);
if(count == 200)
draw_using_normal_arrays()
}
}
draw_using_normal_arrays()
{
void *mem2 = malloc(1000);
// fill mem2 with data
glVertexPointer(.., mem2);
glDisableClientState(GL_VERTEX_ARRAY_RANGE_NV);
glDrawArrays(...);
glEnableClientState(GL_VERTEX_ARRAY_RANGE_NV);
}
once the second function has run, I can't get the normal loop back to speed. I've tried setting glVertexArrayRange again, but to no avail.
When I start drawing with VARs, it works fine but as soon as I try to draw something with normal arrays I can never get the VAR to work again properly (it retreats into slowmotion, fetching data from agp mem and sending it to the card.)
it should be possible to do this:
main
{
void *mem = glAllocateMemoryNV(1000,0,1,.5)
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_VERTEX_ARRAY_RANGE_NV);
glVertexArrayRangeNV(1000,mem);
loop {
glVertexPointer(.., mem);
glDrawArrays(..);
if(count == 200)
draw_using_normal_arrays()
}
}
draw_using_normal_arrays()
{
void *mem2 = malloc(1000);
// fill mem2 with data
glVertexPointer(.., mem2);
glDisableClientState(GL_VERTEX_ARRAY_RANGE_NV);
glDrawArrays(...);
glEnableClientState(GL_VERTEX_ARRAY_RANGE_NV);
}
once the second function has run, I can't get the normal loop back to speed. I've tried setting glVertexArrayRange again, but to no avail.