[.net] Starting out with 3D in C#?

Started by
13 comments, last by DrGUI 18 years, 11 months ago
Want resources for getting started with 3D in C#?

http://irrlicht.sourceforge.net/index.html
http://www.axiom3d.org/

These are the 2 most popular ones I'm aware of.
Advertisement
It's true that comparing the difficulty of programming against different APIs is subjective and somewhat arbitrary. However, I can tell you what I think of them. I've done OpenGL using VC++ 6.0 and VC++ .NET unmanaged. I've also done DX7 in VB6 using Patrice Scribe's type libraries, unmanaged DX8 with VC++ .NET, and Managed DX in C# and VB.

The easiest in my opinion? MDX with VB by a very large margin. My game engine is actually turning into something since Managed DX came along. I got my own implementation of GeoMipMapped terrain in very little time (my first managed DX attempt!). There are some things that are just plain hard no matter what. Animation blending, for instance. I've pored over (and ported) TONS of code just to get that working. I finally got it with the help of a book called "Programming a Multiplayer FPS in DirectX", even though everything uses C++.

I guess that's the real difficulty with Managed DX. Sparse documentation/samples/tutorials. Fortunately much of it is simple enough to figure out on your own. Patience, grasshopper!
Quote:Original post by Krisc
I don't think it is harder, just the amount of resources on the net in reference to programming with DX are immensly in more quantity than those for MDX...

That said, techniques on the internet can be easily converted to MDX as the calls made have similar names. Also, many techniques nowadays use effect files which are the same for DX and MDX, so taking away much of the converting load anyway!

Don't worry, it can't be too difficult because I learnt DX for VB 6 from modifying the 'Billboard' sample from DX SDK when I was 11! It wasn't too hard to learn just fiddling about and I finally got the 'tiny'.x' model from SDK following me avoiding the crummy billboarded trees!
I now use C# 1.1 with MDX.

Oh - I realised you might not know what billboarding is, being new to 3D, so I found this. It is for OpenGL, not DirectX so ignore what they're saying about the matrices; DirectX uses a left-handed coordinate system while OpenGL uses a right-handed one.

Good luck!
You did that while you were 11? I was still coding lemonade stand for VB6...

;) - It get's easier as time goes by my friend, and yes, converting from C++ to C# is quite easy.
Quote:Original post by Krisc
You did that while you were 11? I was still coding lemonade stand for VB6...

;) - It get's easier as time goes by my friend, and yes, converting from C++ to C# is quite easy.

Yeah, I actually regret not having started sooner, but I suppose it was writing all those useless little apps and the Other One that made me into a good programmer, and not just someone who can write a rubbish little macro in Excel!

Have you programmed in C++? You know, I've never actually written C++,but I taught myself the langauge when I was 11 too, from Sams 'Teach Yourself C++ in 21 Days' (I've always been so proud that I read it in 7). Nevertheless (is that a word?) it's been invaluable in my understanding of all the code on the internet in C++, and in writing faster code (keeping stuff in the processer cache etc).

PS: Lemonade stand is such a cool game! It was even a craze in school once! You did well my friend *pats on back*

PS2: Class hierarchies involving multiple inheritance are a little tricky to redesign though...

This topic is closed to new replies.

Advertisement