Yes, I use both. (glEnable (GL_BLEND); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
.
The drawing is performed by passing vertex, texture and index arrays:
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glMultMatrixf(camera->GetTransformationMatrix());
float position[4] = {-1,1,-1,0};
glLightfv(GL_LIGHT0, GL_POSITION, position);
glEnableClientState(GL_VERTEX_ARRAY);
glEnableClientState(GL_NORMAL_ARRAY);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glVertexPointer(3, GL_FLOAT, 0, &vertices.at(0));
glNormalPointer(GL_FLOAT, 0, &normals.at(0));
glTexCoordPointer(2, GL_FLOAT, 0, &tcoords.at(0));
glDrawElements(GL_TRIANGLES, indices.size(), GL_UNSIGNED_SHORT, &indices.at(0));
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_NORMAL_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);