Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

.NET 3D, where to start? [closed]

Tags:

c#

3d

I want to use 3D for two purposes. One is to display statistics in a fancy way for my app and another is to make a simple 3D game.

What I'm looking for is an library that is preferably open source, so I can include it in my C# project, without using any dlls, but if there's no other option, it's no big deal. I sell my apps, so I need to be able to use the library for commercial purposes. It would be perfect if I could create models in Blender 3D and import them into the library easily.

like image 718
Kristian Avatar asked Jan 07 '13 04:01

Kristian


2 Answers

Have you considered using MOGRE, which is a .NET wrapper for OGRE? OGRE is MIT licensed, so fine for commercial use, and MOGRE seems to be LGPL licensed so also fine for commercial use (and you don't have to release source if you dynamically link with it).

A quick search will turn up plugins for Blender to export to OGRE's model format, so you should be fine there.

You can also use XNA, which is a managed library written by Microsoft for game development. However, recently (Jan 2013) it seems like Microsoft is pushing people away from XNA for Windows development, and back to native code.

For example, in the last link, they pitch XNA as being for Xbox Live Indie Games and Windows Phone games, and DirectX as being for Windows. Similarly, the Microsoft Create site, which (if I recall correctly) used to have resources for Windows XNA development, now has 2 big tiles for Windows Phone and XBox, and no mention of Windows development. Finally, there's (currently) no sign of XNA support being added to Visual Studio 2012 (but that may be because a new version of XNA is being developed for the new Xbox which is presumably coming soon).

MonoGame is an open source implementation of XNA (much as Mono is an open source implementation of .NET), but I'm not sure about its 3D capabilities.

If this hasn't helped, there are plenty of other questions and answers about this topic:

  • https://stackoverflow.com/questions/271138/best-3d-graphics-engine-for-net
  • Which API to use to draw 3D objects in C#?
  • etc etc...
like image 83
Caspar Avatar answered Nov 08 '22 05:11

Caspar


C# by itself is only a language, it doesn't have the concept of rendering on its own. "Including 3D in your project" would mean that the library would have to be adapted to your rendering engine, and that's different if, for example, you have a WPF project or a Windows Forms one. There may be libraries (especially for Windows Presentation Foundation) but why not using Microsoft XNA? It runs in a managed environment and it lets you to build your game/viewer/general project entirely in C#, or any other CLR language.

like image 34
Mir Avatar answered Nov 08 '22 04:11

Mir