Should I learn DirectX 9, 10, or 11?

Started by
10 comments, last by _the_phantom_ 14 years, 4 months ago
I'm new to DirectX so I'm wondering which version I should learn. I've heard a lot about learning 9, but 10 has been around for a while now. I know I probably wouldn't learn 11 right now since nothing supports it, but which version should a beginner learn?
Advertisement
I think they're all pretty much the same except 10 and 11 would have new features

for 8 and 9 basically everything had a 9 at the end instead of an 8
D3D10 is pretty much a whole new API compared to 9. Sure, most of the familiar D3D syntax and notation is still there. But you do things in a very different manner compared to D3D9.

I'd go for 10, (10.1), 11 have no real big differences from 10, so extending to 11 later on is easy. Going from 9 to 10 will require rewriting most of everything though.

Depends...

Support XP which most people have...
9
Support Vista (not XP)
10
Win 7
11

If you don't plan on releasing anything major I would suggest whatever is the latest version you have. If you are doing what I am, 9 would would be the way to go (a full fledge game, XP compatability, largest audience).

******************************************************************************************
Youtube Channel

Though API is very important to game developing, I think principles of computer graphics are essencial. If you mater the knowledge of Graphics, it would be very easy for you to learn to use an 3D engine.
Maybe you should think about OpenGL.
If you are new to graphics programming I suggest you to start by a game engine. It will take care of most of the rendering part for you but you'll learn some very good concepts about the architecture of the rendering engine.
Ogre is a very good starting point: http://www.ogre3d.org/

If you already have some ideas and concepts about graphics programming then I suggest you to go a bit deeper into graphics' math.
These two books can be very helpful:

Real-Time Rendering: http://www.amazon.com/Primer-Graphics-Development-Wordware-Library/dp/1556229119/ref=sr_1_1?ie=UTF8&s=books&qid=1259923592&sr=1-1

3D Math Primer for Graphics and Game Development:
http://www.amazon.com/Primer-Graphics-Development-Wordware-Library/dp/1556229119/ref=sr_1_1?ie=UTF8&s=books&qid=1259923592&sr=1-1

Finally, if you have already a good experience in graphics programming and you want to jump to DirectX world I suggest you to learn DirectX 10 (DirectX 11 is extremely based on DirectX 10).
This book is a must-have for the ones who want the best introduction to the API: http://www.amazon.com/Introduction-3D-Game-Programming-DirectX/dp/1598220535/ref=sr_1_1?ie=UTF8&s=books&qid=1259923762&sr=1-1

hope this helps you. good luck!
---Gandalf once said: "Keep it secret, Keep it safe". I say: Keep it simple, Keep it GREAThttp://www.realityshape.pt.vu
Quote:Original post by verty
Maybe you should think about OpenGL.
Or maybe you should not. And I have been poking around with GL since 1.1. As I already wrote once, unless you need to support Apple, there's no real reason to learn GL.
Quote:Original post by applejacks
I'm new to DirectX so I'm wondering which version I should learn. I've heard a lot about learning 9, but 10 has been around for a while now. I know I probably wouldn't learn 11 right now since nothing supports it, but which version should a beginner learn?
As it stands now, I hardly see much reasons to start learning 9. Do you seriously think to ship something out of your selected friends for the next year? 9 takes more effort to learn due to the FFP stuff accumulated over the years.

If you have D3D10 HW I see little to no reason to not start learning at least from 10.

Previously "Krohm"

I would recommend learning Direct3D 11 over 10 or 10.1. Despite what was said before, it IS supported under Vista, and also supports more hardware than Direct3D 10 due to the new feature level system (can use Direct3D 9 level features but with the D3D11 api). Also, unlike D3D10 which was fairly slow on the uptake (due to being Vista only) many are predicting that D3D11 will be much more widely accepted - due to many factors such as Windows 7 adoption rate, the fact that there are actually quite a few Vista machines out there now, and the fact that alot of game developers are already talking about it quite a bit and already providing support (Bad Company 2 and DiRT 2 come to mind).

Yes, I quite enjoy working with D3D 11 ;)
[size="1"]
Quote:Original post by mightypigeon
I would recommend learning Direct3D 11 over 10 or 10.1. Despite what was said before, it IS supported under Vista, and also supports more hardware than Direct3D 10 due to the new feature level system (can use Direct3D 9 level features but with the D3D11 api).


I agree, I see no reason to use 10 anymore, as 11 is supported on everything that supports 10, and more. 9 requires quite a bit less code to actually get things on the screen though, so for a beginner it might be a better idea.

This topic is closed to new replies.

Advertisement