Developing with DirectX

The pure-C#-with-DirectX route has some advantages. You can use the latest runtime Microsoft offers, and you have full control over anything that happens in your app. There is no dependency on external libraries or runtime besides the DirectX libraries. This means that you can do whatever you want to do.

The downside is that DirectX development has a very steep learning curve. It is not easy to create 3D objects in DirectX, and there are a lot of things you need to be aware of when starting with this platform.

Of course, this is always the trade-off--you have to do a lot of things yourself if you want power, you have less choice in how to do things if you want ease of development.