Hello, I realise there are numerous questions on here asking about choosing between XNA and SlimDX, but these all relate to game programming.
A little background: I have an application that renders scenes from XML descriptions. Currently I am using WPF 3D and this mostly works, except that WPF has no way to render scenes offscreen (i.e. on a server, without displaying them in a window), and also rendering to a bitmap causes WPF to fallback to software rendering.
So I'm faced with having to write my own renderer. Here are the requirements:
- Mix of 3D and 2D elements.
- Relatively few elements per scene (tens of meshes, tens of 2D elements).
- Large scenes (up to 3000px square for print).
- Only a single frame will be rendered (i.e. FPS is not an issue).
- Opacity masks.
- Pixel shaders.
- Software fallback (servers may or may not have a decent gfx card).
- Possibility of being rendered offscreen.
As you can see it's pretty simple stuff and WPF can manage it quite nicely except for the not-being-able-to-export-the-scene problem.
In particular I don't need many of the things usually needed in game development. So bearing that in mind, would you choose XNA or SlimDX? The non-rendering portion of the code is already written in C#, so want to stick with that.