Turning 2D polygon into 3D is as easy, as adding Z coordinate to X and Y. I.e. your polygon is stored as series of points (X1, Y1), (X2, Y2), (X3, Y3). They're drawn as lines, i.e. 1-2, 2-3, etc. Turning them into quads is as simple, as adding Z coordinate, that is either 0 or "height". Like (X1, Y1, 0), (X1, Y1, height), (X2, Y2, height), (X2, Y2, 0). Now all you need - is to set proper transformation from local coordinate system into device coordinate system. ModelView matrix is used to transform your wall itself. Rotate it for example. Please remember, that in 3D Z coordinate is usually perpendicular to screen. The most important part - is projection matrix. It's used to convert coordinates from world space into device space. It's important, because if you need your 3D wall to look similar to 2D one, you need proper scale. I don't remember exact device coordinate system boundaries. It's (-1, -1, -1) - (1, 1, 1) or it's (-1, -1, 0) - (1, 1, 1). Something like that. So, if your 2D coordinate system is, let's say, (0, 0) - (100, 100), then it should be converted into (-1, -1, -1) - (1, 1, 1) via simple (X - 50) / 50 operation, that should be performed by projection matrix. See glOrtho for reference.