Bassicaly virtual machines are nothing more than a set of files "lying" to a certain os about what hardware it is dealing with. It is pretty easy to tell "lies" about RAM, HDD storage and CPU but if it comes down to grafics it gets pretty complicated. Grafic cards are more specialised pieces of hardware that perform well on producing a certain kind of data. There a even diffrent typs of graphic cards. It deffintly is a diffrent pair of boots wether you are procesing vidoes and animations, rendring racing games or CAD drawings. Meanwhile the CPU is more of a general purpose calculator, it performs numerical and logical task. If you do virtualisation you basicaly tell your CPU to do the graphic card for the guest operating system. This is like telling mason to do the plumbing and the electricity too. It will some how work out but it wont give you fantastic performance. This means you will get some 2D graphics for basic window rendering and stuf like that, which will be enough for most Desktop/Server oriented task in a VM.
If you want 3D graphics in a VM you need, as mentiond by John VV, to pass a graphic card to the VM. Which means that you need to install a second card into your host and pass this one on to your VM. Just out of interest: What do you want this VM to do?