I'm pretty sure though GTA actually uses real 3d buildings. Not real 3d. But kinda like in Doom, raised and lowerd floors, a few angles too. Probably more like Duke 3d. But it couldn't have a 3d object floating around in the air somewhere. The cars and pedestrians were all 2d sprites. The overpasses were too from memory.
In GTA, the scenery was 3d and grid-based - composed almost entirely of cubes (plus a few slopes). Different textures could be applied to each of the 5 sides of each cube (not including the bottom).
I think your best bet for something like this, would be to find/create a pixelshader similar to the Perspective shader, but also capable of skewing the image. You could then use that for each of the 4 side walls; and another normal active for the roof.
That way, you could have very detailed, textured 3d buildings using just the 5 objects.
Okay, so I put together a rather shoddy and uncommented demo.
There's loads of room for improvement, including optimizing it to improve performance (eg. You only need either a left or right wall, and either a top or bottom wall, as you can never see both at the same time; plus the coding could be much better).
I may get around to finishing and commenting it eventually, but to be honest, I'm bored of it right now.