The reason to use triangles is the following:
Triangles are always concave and planar. So the acctual drawing can be performed by linear interpolation (not really true for textures, but kind of). These interpolations can be easly done eigther in software or hardware.
BUT this is only true if we are talking about normal 3d accelerators or software implementations. If we talk about advanced OGL 3d hardware, that has “on board logic” and is able to display openGL dísplay list, it something completly different.
You didn’t told what you are planning to do:
So if you target the “highend” market (meaning OpenGl accelerators that cost more than 1000 bucks), there are capable of displaying basic objects (cubes, cones, disk, e.t.c in hardware) Which means there are cranking the objects done into triangles by themself.
But, if you are talking about mainstream 3d accelerators like the Matrix G400, Nvidia GeForce or TNT 2, or ATI Boards, I suggest that you push triangles to them.
Hope that helped you!
And may the vector be with you!