I’m trying to update vertex data per frame (using VAR and AGP memory),
but I’m not sure if this is faster than a simple memcpy:
GLfloat* VAR_vertex_xyz_ptr = &VAR_vertex_xyz [0];
GLfloat* vertex_xyz_ptr = & vertex_xyz [0];
GLfloat* VAR_vertex_st_ptr = &VAR_vertex_st [0];
GLfloat* vertex_st_ptr = & vertex_st [0];
for (DWORD v = 0; v < vertex_count; v ++) {
*VAR_vertex_xyz_ptr++ = *vertex_xyz_ptr++; // x
*VAR_vertex_xyz_ptr++ = *vertex_xyz_ptr++; // y
*VAR_vertex_xyz_ptr++ = *vertex_xyz_ptr++; // z
*VAR_vertex_st_ptr++ = *vertex_st_ptr++; // s
*VAR_vertex_st_ptr++ = *vertex_st_ptr++; // t
}
Anyone knows if using MMX or SSE to accelerate the transfer, actually
accelerates something? (using movq, for example), or it doesn’t care
because I’m using the AGP bus?
And how/when should I use glFlushVertexArrayRangeNV ?
Thanks!.
- Royconejo.