I’m a student, and for my next job, I have to program a module which is very similar to the features of the VTK (http://www.vtk.org/VTK/project/imagegallery.php).
I’ve had some success with the vtk, but now we’re having problems, that not even my boss can solve. I want to try my luck with learning one of the frameworks listed above.
Which one would be the best for my project? I’m using C# and read about dx, that the managed variant will no longer be supported. And XNA is more specialized for game development, isn’t it? Will openGL also be used in the future? I don’t want to learn the language for nothing… I would also want to develop some little game projects at home and put it to my curriculum vitae.
So at the moment I’m confused, maybe someone here can help me with my decision.
VTK uses OpenGL. OpenGL is common in research and CAD-style professional modeling packages, as well as id Software games and games running in Mac OS X natively. This includes the Source engine (Half-Life 2) and World of Warcraft. It has the benefit of being cross-platform.
DirectX is very popular for game development on Windows and Xbox 360, although it is also used for scientific visualization. XNA is a managed framework build over DirectX to make it easier to make games. If you want to use C# to write scientific applications, you might consider SlimDX, which is an open-source replacement for Managed DirectX. DirectX and related technologies only run on Microsoft OSs.