I'm using a VBO with an interleaved array to render a obj (model format) iv loaded. Is this possible to do with a vector instead? The GL code works with using a vector but the offset for a vector of vectors is going to be quite different. So the buffer doesn't step through the vector correctly. Therefore renders nothing but is created.
So my normal code for a VBO is(with some irrelevant bits missed out):

```
#define BUFFER_OFFSET(bytes) ( (GLubyte*) NULL + (bytes) )
    //define interleaved array
    GLfloat Cubedata[12][4] = 
    {
        //tu   tv     Cr     Cg     Cb     Ca     Nx     Ny     Nz     Vx     Vy     Vz
        +0.0f, +1.0f, +1.0f, +0.0f, +0.0f, +0.0f, +0.0f, +0.0f, +1.0f, -0.5f, +0.5f, +0.5f,//top left     0
        +0.0f, +0.0f, +1.0f, +0.0f, +0.0f, +0.0f, +0.0f, +0.0f, +1.0f, -0.5f, -0.5f, +0.5f,//bottom left  1
        +1.0f, +0.0f, +1.0f, +0.0f, +0.0f, +0.0f, +0.0f, +0.0f, +1.0f, +0.5f, -0.5f, +0.5f,//bottom right 2
        +1.0f, +1.0f, +1.0f, +0.0f, +0.0f, +0.0f, +0.0f, +0.0f, +1.0f, +0.5f, +0.5f, +0.5f //top right    3
    };
   //define other stuff

        //create vbo
        glGenBuffersARB(2, VBOid); //generates ids for the buffers
        glBindBufferARB(GL_ARRAY_BUFFER_ARB, VBOid[0]);//specifes the current buffer object
        glBufferDataARB(GL_ARRAY_BUFFER_ARB, ( (4 * 12) * sizeof(GLfloat) ), *Cubedata, GL_STATIC_DRAW_ARB);

        glInterleavedArrays(GL_T2F_C4F_N3F_V3F, 0, BUFFER_OFFSET(0) );//set offsets
        //bind indicies
        //bind current buffer, render

```

this works perfectly for an array of GLfloat type but with a vector of GLfloat it doesnt. The vector definition needs to have twelve columns and nth rows such as:

```
vector< vector<GLfloat> > vec_interleaved(12,vector<GLfloat>(4) );

```

so getting to the point of my question, how do you calculate the offset for a vector? in this case I want the buffer to start reading from every 12 elements / the start of every row.