Grokys
Grokys

Reputation: 16526

XNA vs SlimDX for offscreen renderer

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:

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.

Upvotes: 3

Views: 2020

Answers (2)

SiN
SiN

Reputation: 3754

XNA and SlimDX are very close in nature, but there are some differences:

  • XNA requires a GPU with a least pixel/vertex shaders 1.1 while I think SlimDX does not.

  • SlimDX supports DirectX10 and 11, while XNA only supports DirectX 9.

  • XNA is a cross platform between Windows, Xbox 360, Zune and Windows Phone 7, while SlimDX is not.

  • XNA has a strong community (creators.xna.com) with tons of tutorials and help materials.

I would go with XNA.

Upvotes: 2

Aren
Aren

Reputation: 55946

I haven't used SlimDX, but based on my experience with XNA and reading about SlimDX's objective. I'd suggest SlimDX. XNA while it can be used for other things is primarily a Game Engine, not a Rendering Engine. It's got lots of specific optimizations & methodology geared towards Games.

Also, XNA likes to pre-build it's resources into DirectX Files (.x) if you're working with dynamic files, I think SlimDX is the best choice for you.

Upvotes: 5

Related Questions