the "scene" feels like its the opposite of a normal map - world moves around you not you around
You're right! The world is moved around the camera, instead of the camera around the world. In the end there really isn't a difference, but the linear algebra used to project 3D coordinates onto the 2D screen makes this style more mathematically and computationally convenient.
It wont really make sense until you understand why it has to happen.
how can it use opengl or d3d or software w/o being forced to one or the other
OpenGL and DirectX essentially do the same thing, but with slightly different ways of doing things. Their only purpose is to draw triangles with hardware support. Both OpenGL and DirectX have software modes, which means that all of the rendering that normally happens on the GPU happens on the CPU instead.
Renderers that use either OpenGL or DirectX have an intermediary graphics code layer that allows the developers to draw things in an API independent way. For instance they might have a model class. When they want to draw an instance of a model, they only tell it to draw without thinking about how it is being drawn. This draw command then uses code from the the middle graphics layer to draw stuff. It is organized into generic graphics structures and classes like vertex buffers or textures. Based on which graphics API is selected in the options, the objects of the middle graphics layer know the appropriate functions to call from the selected graphics API. OpenGL and DirectX are similar enough that most of the classes and the thought processes behind them are the same for both API's. A lot of the code can be shared, but it's still annoying because everything you support in one API you have support in the other. You have to write all of your API dependent graphics code twice.
As someone who is learning you should focus your efforts on one API at a time. You won't get anything done if you try to write a rendering engine that supports both. That's the kind of annoying stuff you write only if you are being paid to write it, heh. Graphics middle-code isn't fun to write.
I can go into more detail on anything if you want.