Original Post
I'm working on a simple 3d modeling program/level editor, and I'm having some trouble getting the extrusion function working. Here's how I see it: I make a copy of the selected face, then I make a copy of that X units away as I drag the mouse, so now I have the top bottom/side. Let's pretend it's the top and bottom. My next step is to create the sides of the extrusion; I start by taking v[0] of the bottom, the v[0] of the top, and the v[1] of the bottom to create the first triangle, then v[1] of the bottom, v[1] of the top, and v[2] of the bottom: My problem is that say it's not the top and bottom, say it's the side, then I need to start at v[2] for the two faces and so forth, so vertices change depending on the orientation of the extrusion.
0----1
|\ |
| \ |
| \ |
0----1