I used to think this, 15 odd years ago when I had to abandon my software rasterizer because it couldn't compete with hardware acceleration in terms of speed. I found OGL and D3D very restrictive and they still do get in the way a bit at times. That said, I don't want to write software that will be obsolete as soon as the next model of ATI card comes out - not because I don't enjoy getting all low level with these things, just because I like shipping games and getting paid for shipping games. The amount of time you'd have to invest in getting a totally custom renderer working across many different boards would mean less time for actually making decent games. If draw calls are that expensive either improve DX so their less expensive for batch more - you should always batch more using DX anyway, we're all used to that now.