tags:

views:

585

answers:

2

I'm looking at a new project where both Native and Managed approaches sound like a good idea. This is a Windows desktop application which should support an MDI interface. The client area will make extensive use of Direct3D. The developers on the project are equally skilled on C#, C++/CLI and MFC.

MFC Advantages:

  • Doc/View Architecture
  • Most Direct3D online resources still use C++

Managed Code Advantages:

  • The .NET Framework
  • C#

What more can I add to the lists above? Don't flame this. Two lists. Just add to them.

Note: I have very good reasons (to do with the IDE and debugging) not to use mixed mode. So count that out.

+1  A: 

This doesn't directly add to either list, but the current "recommended" way to do 3D with .NET is using XNA - Managed DirectX is being deprecated.

Edit: Of course, WPF 3D is also an option! Forgot about that :}

moobaa
Woah! What you said about XNA is news to me. Any pointers?
Vulcan Eager
http://en.wikipedia.org/wiki/Microsoft_XNA , at a guess ;)
moobaa
Nah. Pointers as to why MDX is being deprecated in favor of XNA?
Vulcan Eager
Not off the top of my head, sorry... it's fallen into the realms of "assumed knowledge" :}
moobaa
+1  A: 

Why not use both?

You can write the UI (forms) using C#/VB.NET and render the window using C++.

Basically all you need to do is pass the HWND (Window Handle) from the C# to the C++ and initialize the C++ using that value.

You can see an example on my blog: How-to Render managed (.NET) form using native DirectX

Dror Helper