Yeah, I would just call OpenGL instead of the software renderer. In some ways it's easier, because it has a bunch of advanced rendering stuff already there, but in some ways it's much harder, because you cannot just draw directly into your own memory or anything like that.
So, it's six of one, half dozen of the other. In general I suspect I would much rather have software rendering always, but unfortunately that's not really possible these days, due to how specialized the hardware is. Maybe someday it'll converge again :P
- Casey