void flush_Vindex_range( Vindex* vindex, GLintptr ofs, GLsizeiptr n ) { assert( NULL != vindex->buf ); assert( ofs <= indiceMax( vindex->type ) ); assert( n <= indiceMax( vindex->type ) ); flush_Buf_range( vindex->id, GL_ELEMENT_ARRAY_BUFFER, ofs * sizeof_GLtype( vindex->type ), n * sizeof_GLtype( vindex->type ) ); }
int upload_Vindex_range( Vindex* vindex, GLintptr ofs, GLsizeiptr n, pointer data ) { assert( ofs <= indiceMax( vindex->type ) ); assert( n <= indiceMax( vindex->type ) ); return upload_Buf_range( vindex->id, GL_ELEMENT_ARRAY_BUFFER, ofs * sizeof_GLtype( vindex->type ), n * sizeof_GLtype( vindex->type ), data ); }
pointer map_Vindex_range( Vindex* vindex, GLintptr ofs, GLsizeiptr n, GLenum rw, GLbitfield access ) { assert( NULL == vindex->buf ); assert( ofs <= indiceMax( vindex->type ) ); assert( n <= indiceMax( vindex->type ) ); vindex->buf = map_Buf_range( vindex->id, GL_ELEMENT_ARRAY_BUFFER, access, ofs * sizeof_GLtype( vindex->type ), n * sizeof_GLtype( vindex->type ) ); return vindex->buf; }
pointer alloc_Vindex( Vindex* vindex, GLenum usage, GLsizeiptr n ) { assert( n <= indiceMax( vindex->type ) ); vindex->buf = alloc_Buf( vindex->id, GL_ELEMENT_ARRAY_BUFFER, usage, n * sizeof_GLtype( vindex->type ) ); return vindex->buf; }
void ordena(int v[], int N){ int i, ind, ult=N; for(i=0;i<N;i++){ ind = indiceMax(v,ult); printf("indice = %d\n", ind); swap(v,ind,ult-1); ult--; } }
int upload_Vindex( Vindex* vindex, GLenum usage, GLsizeiptr n, pointer data ) { assert( integral_GLtype( vindex->type ) ); assert( n <= indiceMax(vindex->type) ); return upload_Buf( vindex->id, GL_ELEMENT_ARRAY_BUFFER, usage, n * sizeof_GLtype(vindex->type), data ); }