This orthrographic image draws fine:
glDisable(GL_DEPTH_TEST);
glUseProgram(g_program[ORTHO]);
glUniform1f(g_slots[ORTHO][WIDTH], (float)g_width);
glUniform1f(g_slots[ORTHO][HEIGHT], (float)g_height);
glUniform4f(g_slots[ORTHO][COLOR], 1, 1, 1, 1);
glEnableVertexAttribArray(g_slots[ORTHO][POSITION]);
glEnableVertexAttribArray(g_slots[ORTHO][TEXCOORD]);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
...
glVertexAttribPointer(g_slots[ORTHO][POSITION], 3, GL_FLOAT, GL_FALSE, sizeof(float)*5, &vertices[0]);
glVertexAttribPointer(g_slots[ORTHO][TEXCOORD], 2, GL_FLOAT, GL_FALSE, sizeof(float)*5, &vertices[3]);
glDrawArrays(GL_TRIANGLES, 0, 6);
...
glEnable(GL_DEPTH_TEST);
But if I place this before it, it doesn't draw:
glUseProgram(g_program[MODEL]);
...
glBindBuffer(GL_ARRAY_BUFFER, vertexBuffers[frame]);
glVertexAttribPointer(g_slots[MODEL][TEXCOORD], 2, GL_FLOAT, GL_FALSE, sizeof(CVertexArray2), (void*)offsetof(CVertexArray2,texcoord));
glUseProgram(g_program[BILLBOARD]);
...
glVertexAttribPointer(g_slots[BILLBOARD][POSITION], 3, GL_FLOAT, GL_FALSE, sizeof(float)*5, &vertices[0]);
glVertexAttribPointer(g_slots[BILLBOARD][TEXCOORD], 2, GL_FLOAT, GL_FALSE, sizeof(float)*5, &vertices[3]);
glDrawArrays(GL_TRIANGLES, 0, 6);
If I get rid of the last glDrawArrays it draws, or if I remove glVertexAttribPointer(g_slots[MODEL][TEXCOORD]...
Any ideas why?