Click here to Skip to main content
15,881,248 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Scenario:-
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.

Problem:-
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...

Options:-
So, should i choose XNA for all the above work with great , appealing final graphics
OR
should i try some 3rd party 3D rendering engine?
Please explain me what should i do or is there any other option?
Posted
Updated 22-Feb-12 4:56am
v2
Comments
Sergey Alexandrovich Kryukov 22-Feb-12 15:12pm    
It's pretty difficult question and also not clear. When you say "not appear appealing enough", you don't explain what features would you hope to look more appealing. I would advise to look into features, not a new framework. You can just waste time on having the same features rendered using different technical means. So, I would think about staying with WPF as much as possible and think about rendering detail themselves; try to realize what is missing. In may require some artistic feeling. Do you have any good experience is drawing or painting? Industrial design? Any graphical arts? This experience might be critical.

I mean my own experience: I once dramatically improved the visibility and human recognition of 3D picture (a surface) by adding of just three features, most primitive technically: 1) different colors for two different sides of the surface, 2) primitive sharp shade depending on a very primitive source of light, 3) ability to turn coordinate system interactively. It immediately made the picture looking "life". (It was scientific graphics.)

Anyway, don't follow your your senior until she/he explains very clearly what is her/his positive experience with XNA, exactly. (It could be just familiarity with some good presentations is some application, but it should be something essential; I know those "seniors" -- sometimes they could easily distract you, and the real responsibility would be put on you -- be careful with such things... :-)

--SA
[no name] 29-Mar-12 8:05am    
How true. XNA and WPF don't go together well at all. It may be a bit late, but I have written another answer below why those two things are not meant to work together. It can be done, but it's always a bit of a sinister hack which I would not want to have in a serious application.
Sergey Alexandrovich Kryukov 29-Mar-12 12:49pm    
And that was a good reply, I up-voted it.
--SA

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.
 
Share this answer
 
Comments
Sergey Alexandrovich Kryukov 29-Mar-12 12:48pm    
I think these are very essential warnings against WPF, especially #1. My 5.
Just a little note: actually, WPF application is based on a Win32 window which is uses only as a top-level container for the application, but dependency on this is done nearly as little as possible. To me, the main drive of WPF is going away from Windows.
--SA
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.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900