   duplicating verts, only solution?
  hello, i've a problem: int main(int argc, char **argv){   float Verts[] = {0.0f,0.0f,0.0f,1.0f,0.0f,0.0f,0.0f,1.0f,0.0f,1.0f,1.0f,0.0f,0.0f,0.0f,-1.0f,0.0f,1.0f,-1.0f};   float UV[] = {0.0f, 0.0f,  1.0f, 0.0f,  0.0f, 1.0f,  1.0f, 1.0f};   float FaceVrts = {Verts,   Verts+3,   Verts+9, Verts+3, Verts+12,  Verts+9, Verts+15,Verts,Verts+18, Verts,   Verts+9,   Verts+18};   float FaceUVs = {UV,  UV+2, UV+4,UV+2,UV+6, UV+4,UV,  UV+2, UV+4,UV+2,UV+6, UV+4};   glVertexPointer(3, GL_FLOAT, 0, FaceVrts);    glTexCoordPointer(2, GL_FLOAT, 0, FaceUVs);   while(1){ glDrawArray(GL_TRIANGLES, 0, 12);   }   return 0;}obviously, that won't work, and i understand why it won't, however the concept is such:i have 2 quats, one facing forward, and one facing to the left, they each share 2 points, using index's to do this at first seems the obvious answer, however when u attempt to apply UV coordinates, the 2 shared points suddenly have 2 UV point's as well, which makes using the regular index method invalid, and since the regular method rely's on vertice's positions, i can't specify UV index layer as wellso, I've talked to some people, and it seems that duplication is the only solution, however, handling animation on the vertex level(such as skeletal systems) would require me to keep track of a single vertice, and then keep track of all of it's duplicated verticesso is their any other solution to this problem?edit: also, i do know i can use glBegin/glEnd with custom indexUV/vert arrays, but i'd prefer to keep with with glVertexPointer   
  You just need to duplicate the vertices. Can't use custom indexes for each data.I don't quite understand your animation comment though, you should be able to do that on the gpu as well, it is well suited for it. I don't see why you need to keep track of duplicated vertices.   ;  vertex level skinning?, what openGL implementation can support that?, i at least don't know of anyedit: also, it seems unfortunate that the only way to support such a scenario with arrays is to increase overall memory consumption(although in some situations it may be cheaper to duplicate vert's than to create a new index list, my example being one)   ;  I have to run or I'd explain more, but animation is pretty easy on the GPU. You calculate a couple matrices for the 'bones' on the cpu, and then use those matrices to do the transforms for each vertex. You just upload the array of bone matrices as uniforms, and then as a vertex attribute an index to define which matrix to transform each vertex by.I'm sure you can find more explanation via search or someone else can fill in more.Best of luck!Also it's really not a big deal to duplicate a few verts, the way gpu is architected it is designed to deal with vertices this way. Usually a minor issue, I wouldn't worry about it much.;Quote:Original post by karwostsI have to run or I'd explain more, but animation is pretty easy on the GPU. You calculate a couple matrices for the 'bones' on the cpu, and then use those matrices to do the transforms for each vertex. You just upload the array of bone matrices as uniforms, and then as a vertex attribute an index to define which matrix to transform each vertex by.that's exactly what i was planning to do in software, this would make things a million times easier if i have a gpu implementation of it(and probably a million times faster), i searched a bit, but didn't find anything, i'll try again   ;Quote:Original post by slicer4eververtex level skinning?, what openGL implementation can support that?, i at least don't know of anyEvery version since the introduction of vertex shaders (and even before, with now obsolete custom extensions).You basically just do in the vertex shader what you would have done on the CPU. You transfer the bone matrices through uniform parameters or buffer textures (the latter are preferable) and the vertex weights through generic attribute streams. The skinning is then trivially done in the shader.   