Cross-platform 3D graphics with .NET

I would like to program a .NET application that provides 3D rendering of the animated world. I am coding on a Windows PC, but many of my target audience will be on Linux.

There are a bunch of frameworks that look useful, classified as high and low as far as I can:

Low level graphics

Game Development Framework

Are there any of these rivals? What did you find the best option and why? I am looking for any insightful comparisons and recommendations for / against. Some of them claim to work as XNA substitutes. Does this literally mean you can use Win / Mac / Linux as well as Xbox? Is there a catch?

I am not familiar with the OpenGL / DirectX / XNA 3D graphics APIs yet. Is any of them easier than others? Are you losing flexibility / power / performance due to higher levels of abstraction?

Please note that I will not be able to access the Linux machine for a month or so, so I will not be able to test my development on Linux (hence this question).

EDIT I found this table that adds a few more to the list. I combined them above.

EDIT 2 I am leaning towards the Axiom. This gives a rather rough landing, but shows real prospects in terms of features. Here is a great summary article with user reviews . But so far, the novice documentation and sample projects are pretty hard to use. All the references in the manuals are to different versions of the API, and all of them recommend that you use different base classes (not included in the API) to get started. Of course, not developed with Pit Of Success , but still promising.

+7
cross-platform xna graphics 3d
source share
4 answers

It may not be exactly what you are looking for, but Unity3D is a cross-platform 3D game environment based on Mono, which means that you can encode the bit you need in C #. There are versions of indie and pro with the free version of indie. http://unity3d.com/

+7
source share

Use OpenTK

  • This is OpenGL. It is an independent platform. He strictly typed
+3
source share

I would rather take a look at Unity, which, if I remember correctly, uses C # as a scripting language so that you can write the game code (using Mono), allowing a real rendering engine, etc. use native code (presumably C ++).

Otherwise, I would use Mono with caution for something like 3D graphics or another β€œhard core” ... anything related to the graphical interface or rendering, I would be nervous. But, what is my personal choice, if you have time to do research, it might be worth pushing the prototype together ... but I would not write a lot of C # code without the ability to test it on Linux very early if there are big questions.

+2
source share

You can learn Qt and OpenGL. I believe, however, that OpenGL is probably too low-level (read: "uselessly complex") for your specific needs.

+1
source share

All Articles