Search this blog

01 April, 2008

C# DirectX wrappers

Managed DirectX has been discontinued quite a long ago. But I still want to be able to quicly prototype stuff in C# and F# without having to use the dumb XNA framework, that also lacks DX10 capabilities.
Luckily a couple of projects come to the rescue:


AW said...

SlimDX is awesome. We're using it in an unannounced commercial project. That team did an amazing job.

Anonymous said...

SlimDX sucks. Couldn't even wrap it correctly. Why couldn't the developers wrap it just like MDX had it. Instead of doing a bunch of stupid PInvoke crap just to get the loop o_O. But DirectX sucks in general because it's not cross platform. And C# isn't worth developing a game into anyways. It's never going to be the next leading gaming language for the industry so why bother with it.

Yeah XNA sucks because of no D3D10 support, probably won't be til the next gen console of XBox.

DEADC0DE said...

Wow, that was so strikingly ignorant that I should not even reply to you. How I tell that you're an ignorant n00b that pretends to be a cool game developer? Easy:

- You care about OpenGL portability. Laughable. What platforms do OpenGL support? Windows, OSX and Linux (the OGL|ES implementation of the PS3 is so bad that you won't use it anyway). Who cares about OSX and Linux? Noone. Who cares about portability? No-one, porting an engine to another API is not a big deal (if it was engineered properly).

- "C# [...] is never going to be the next leading gaming language" and you obviously infer that from the fact that C# is the only language that is gaining attention in the game developers community, and it's the only language other than C++ in which some actual relevant titles are being developed... So it obviouly won't be the next language for the industry... Well, neat, you should open your own blog to let the world have the opportunity to read your great thought, not confine them in the small audience that this blog can give to you... Go on, go away!

Anonymous said...

DEADC0DE, well played! :D Perfect response! I get SO tired of hearing that same crap from people who've never even shipped a product; and likely never wrote a working library or application. I remember how hard I had to work to finish my first application which was just slightly useful (daylight to dark for months on end). Then to have everyone who's written a "Hello World!" come around and act like pros, pfffttt... :-/

What's really dumb about that whole post above yours is the fact that there are plenty examples of games written in managed languages. IL-2 Sturmovik, which I modded for years, is one of my favorites; and it's written in Java! From my personal unit testing, I've "proven" C# is a bit quicker than Java; and overall, I find it far more stable and robust. Bear with my opinionated logic here. If such an awesome flight simulator came from the Java camp, I think C# can even top it! And my team and I are definitely NOT working on a secret flight sim which is growing rapidly... :)

I don't get the XNA bashing either. Who really wants to develop commercially with Dx10 yet? Are you going to tell your customers, "Oh, sorry... You need to buy Vista or 7 now to play the game."? I doubt it. Most new games I see on the shelf are all Dx9, and some just have extra Dx10 support if wanted (which matters little when 9 is the "fallback"). So there's nothing wrong with XNA; at all, except misguided bashers who think it "sucks" because they saw a bad game a n00b created with it. If you REALLY need DX10, you can always wrap or interop directly, and even integrate it into XNA/your engine. Working on some minimal support right now, as a matter of fact. I rest my case! :)

DEADC0DE said...

In fact, I would go on and check recent games binaries... With some luck, and some reversing, you could end up finding some that already now use C#...

Can't really say more about it... There are surely also games out there made using a C#->Native compiler, like Mono AOT.

And of course, there's the whole Unity thing that is incredibly cool.

Plus, C# totally rocks for tool programming, here where I work, most of our tools are C# already.