Try updating your GPU drivers, they are most likely the problem. If you got a Nvidia card, download your drivers from
http://www.nvidia.com/.
OpenGL, Software, Direct3D are three different render engines. I recommend reading about them on Wikipedia. Software is the only engine that doesn't use your graphic card, that's why it's slow and the outcome is bad.
I would recommend using 16 bits instead of 32 bits, because you can see through smoke-grenades with no fps-drops. You won't notice any other difference using 16 bits.