Book purchase: dx9 or dx10?

Started by
9 comments, last by MadMax1992 14 years, 11 months ago
I know the fundamentals of OpenGL, but I have never touched DX. Is DX10 a superset (like C++ is to C) of DX9 or are they very different? I learned a lot of C just by learning C++. Will I be able to do the same with DX10? To be more precise, if I buy a DX10 book, will it include all the things taught in a DX9 book + the DX10 extras? Or, will I be missing a lot of DX9 information? I only own Windows XP at the moment, but I figure a DX10 book would be more future proof. Anyway, thanks for the advice!
Advertisement
"To be more precise, if I buy a DX10 book, will it include all the things taught in a DX9 book + the DX10 extras? "

DX10 is different than DX9. There is no fixed function rendering. It's all shader programming. Plus, you will deal with descriptors most of the time, similar to how descriptors are handled in PhysX.


"I only own Windows XP at the moment, but I figure a DX10 book would be more future proof."

I would try the DX10 help file found in the SDK first. If that is too cryptic and terse I would recommend reading the source code found in Humus3D. If you're tied to XP, DX9 will be fine as well, there is the help file in the SDK to get you started.
First of all C++ is not a superset of C. As for DirectX 10 I am 99% sure it is also not a superset.
Quote:Original post by dlangdev
"To be more precise, if I buy a DX10 book, will it include all the things taught in a DX9 book + the DX10 extras? "

DX10 is different than DX9. There is no fixed function rendering. It's all shader programming. Plus, you will deal with descriptors most of the time, similar to how descriptors are handled in PhysX.


"I only own Windows XP at the moment, but I figure a DX10 book would be more future proof."

I would try the DX10 help file found in the SDK first. If that is too cryptic and terse I would recommend reading the source code found in Humus3D. If you're tied to XP, DX9 will be fine as well, there is the help file in the SDK to get you started.
Thank you very much for the reply!

I suppose that means I will be getting a DX9 textbook, because I want my friends to be able to play/test my games as well. (ALL of my friends with Windows use XP only.) And, DX10 knowledge is not "backwards compatible." I do intend on learning DX10 eventually, so thanks for the extra information as well!
not exactly on topic but , while vista was a flop win 7 isn't expected to see one and should be well released by the time you go from "learning DX" to "having a game made" so you may want to consider that your friends will eventually be able to play those games whenever they buy a new computer.
Learning 9 is not a bad thing, but there are several headaches you will have to deal with which you could avoid if you used DX10. One of the biggest ones is lost devices, but you also get to work with geometry shaders and stream out, which can help make some stuff much easier.

However, since you're running XP, you don't have much of a choice. I'd go with DX9, and if you want, switch to 10 later (or possibly 11).
-- gekko
really learn based on what you want to accomplish.
if you want shorter term advancement then yes dx9
if your aiming for development on future platforms i'd recommend dx10
Thanks everyone for all the help so far!

Quote:Original post by Denzin
really learn based on what you want to accomplish.
if you want shorter term advancement then yes dx9
if your aiming for development on future platforms I'd recommend dx10
My primary goal right now is to make something worthwhile for my portfolio within the next 6 months. Given a choice, I'd prefer to dev. PC games, and I don't think publishers are going to drop XP support any time soon. So, it seems like I will need dx9 regardless, unless dx10 support is coming to XP.

On the other hand, would I be able to make something more visually impressive with DX10 sooner than I would be able to with DX9? The main thing for me is to show employers what they would like to see.

Thanks for all the advice!

[Edited by - CryptGG on May 21, 2009 3:44:18 PM]
first off, how much programming experience do you have? If not a lot, directx is going to take you much longer to learn than 6 months.. and to make a full on game in directx is going to take even extra time. To get good enough with it to be employeed as a game programmer using directx will atleast taking a few years, unless your insanely good with c++ and study all day.

By the time you are done learning how to use directx 9 and finish a game, not many people will be using directx 9 anymore, again assuming ur not some c++ guru already.

As for games not getting rid of directx 9 anytime soon, i dont think so. From what i've seen, games are starting to push more for directx 10 and less time will be spent for developing in directx 9. It may not completely disapear but they definitly won't be hiring people just for their directx 9 programming skills.

Directx 10 you can make things a little more visually impressive sooner, atleast thats what i felt, but it is also a little more confusing because you have to do more of the work yourself. Something that allows more control is obviously going to be a little harder to learn.

Directx 11 will be coming out soon also, which builds off of directx 10. So to learn directx 11 from 10 should be fairly simple, whereas learning directx 9 will not help much for learning directx 11.
@KBakerSR

Thank you for your reply, you bring up some excellent points and useful information.

I am currently a senior in university. I don't really know how good I am relative to professionals or students at other schools, but I'll just say that I feel comfortable with C++ and I am very motivated to learn more. I've had a semester with graphics programming in OpenGL, but we mostly just did 2D stuff.

I am not thinking that I can master 3D programming within 6 months. It's just that I have 6 months of time to learn/do as much as I can so that I can apply for jobs at that time. I'll be looking for any programming position in game dev. I'm not tied to graphics programming, though that is what I'm focused on learning at the moment.

I am hoping to put in 5-7 hours per day of study over the next 6 months.

The other drawing factor for DX9 for me is the wide availability of source code/tutorials. I'm not sure if DX10 has the same support.

You make a very good case for DX10. Thanks for your input. I will research more about this topic.

This topic is closed to new replies.

Advertisement