That's what I do for the GPU and it's relatively easy, but on the CPU ..... well, I'm not saying it's impossible but It will certainly make things a royal pain in the ass for collision and just the fact I no longer have a uniform coordinate system. It's possible the extra stuff you would need to support it, would outweigh any performance gains you got from using single precision. I really don't see why I should suffer with this. I think it would be easier to just use Direct X or port an existing engine. Also as far as I know most people doing this kind of stuff are using double and custom engines so that tells me that it's probably the way I should go.