I came up with a basic starting layout for the engine. It will consist of one dll named Nitrogen3D. I am only using one project for this purpose but multiple namespaces and files. The reason for this is that when I release the engine I don't want the person making the game to have to distribute a huge number of dll files with the game so why not just one :P.
The current namespace I am working on is called Nitrogen3D.Core. This is the core namespace of the engine. It will deal with everything to get the engine up and running.
The first object in this namespace is called DeviceManager. This lets you create a device and then set up a projection matrix for the screen. That is what I am working on right now. The next object I will deal with will be a Camera object. This will be in Nitrogen3D.Core and will allow you to create the view matrix and store the data of the camera position. it will also allow you to update the camera position when you wish to do so.