1

If you where starting out in game developed using C# or another .Net language with a long term aim at cross-platform support what would be the best media API to use? I know SDL has an SDL.Net project, but wasn't sure how well it has aged.

flag

2 Answers

1

You could try the Tao Framework which is available from http://www.taoframework.com although that appears to be down at the moment. It's also available via the Mono site.

It provides .net languages with bindings for various libraries including SDL and OpenGL (although there was no Linux binding for OpenGL when I used it 2 years ago).

EDIT: On further inspection (I've used Tao.OpenGL but not Tao.SDL in the past) I found this here in the SDL.net FAQ:

What is the difference between SDL.NET and Tao.Sdl?

Tao.Sdl (http://www.mono-project.com/Tao) contains the low-level .NET bindings (P/Invoke) to the SDL C library and related libraries. I wrote Tao.Sdl with some help from Randy Ridge and I am a regular contributor to the Tao project. The Tao.Sdl bindings are meant to match the C API very closely for ease of maintainability. Programmers moving from the SDL C API can easily use this version of the library. Tao.Sdl is released under the MIT license.

SDL.NET takes Tao.Sdl and wraps it in an Object-Oriented interface. SDL.NET provides an easy way to use SDL in .NET. Also the project provides many code examples.

So a beginner may be better off with SDL.net rather than Tao.sdl, but it may be worth taking a look at some of the other libraries the Tao Framework provides (if they ever reinstate their website).

link|flag
Can you explain the difference between Tao and SDL.Net? – MrPhil Mar 3 at 22:57
Edited the answer above to clarify the difference. – Amos Mar 4 at 12:08
Hmmm.. interesting, Thanks Amos! Sounds like Tao is the way to go, because its at least based on a cross-platform API, unlike SDL.NET Would you agree? – MrPhil Mar 4 at 16:39
I'm not so sure. I read the quote from the FAQ as saying that SDL.net is a wrapper around the Tao bindings providing added Object Oriented goodness. Is SDL.net not cross platform then? – Amos Mar 5 at 17:37
SDL.Net is cross-platform, .Net for Windows and Mono for Linux and Mac. It is what I've chosen for now. Thanks for your help. – MrPhil Mar 5 at 18:01
1

I found another interesting option: OpenTK but I know little about it.

link|flag
Interesting. I take it the C++ referred to is actually C++.net rather than standard C++ (of the Stroustrup variety). – Amos Mar 5 at 17:40
Yeah, I think so because it says "C++/CLI" not just "C++" – MrPhil Mar 5 at 17:56

Your Answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.