I am developed a software in WPF in which
-user's image are wrapped in an 3d objects.
-contains a static background which just fits with the 3d object.
-the light, texture are added manually.
My problem is that the 3d object does not appear appealing enough.So, my senior suggested to look into XNA, but i donot know if XNA would be good enough for me...
So, should i choose XNA for all the above work with great , appealing final graphics
should i try some 3rd party 3D rendering engine?
Please explain me what should i do or is there any other option?
XNA will not help very much if you have a WPF application. There are two problems which are not easy to overcome
1) WPF applications are event driven while XNA applications run in a continuous rendering loop. Getting those two worlds together does not work out of the box. You will have to write a bit of your own code to provide a class that acts like XNA's Game class (the main runtime object of an XNA application) that is encapsulated in a WPF control and runs in a separate thread.
2) XNA, which is based on DirectX, needs a Win32 window as rendering target. WPF controls are not based on Win32 windows, so they cannot be used for that purpose. The only solution to that has up to now been opening a separate Win32 window and keeping it aligned with the WPF control, so that it at least appears as if the content is rendered into that control. This of course is a hack and not what I would like to see in a serious application.
I have a little project of my own which used to be WPF and also needed a little more 3D than what WPF had to offer. In the end I went into the opposite direction. It's now a pure XNA application and I have written my own GUI for XNA. Now I have both things at once, at the price of having to write a own GUI. Bottom line: No matter how you look at it: 3D and WPF don't come together easily.
If you just want to show user's image on surface of another 3D object then WPF if enough but if you want the user to be able to rotate 3D object or play with 3D object then you need XNA.
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)