Difference between DX9, DX7, DX11?

Started by
9 comments, last by cgdev 11 years, 4 months ago
Hello everybody,
I have really simple question for you. I have descent knowledge and about 3-4 years experience of C/C++. I also have worked on SDL creating simple games. I eventually want to start learning DirectX, but I don't know which version to use. Are there big differences between writing DX7, DX9 or DX11? Cause I have books called "Programming Isometric Games with DX7", "Beggining DX9 game programming" and I know that newest version is 11. So can I learn from these books, nut use DX11? Is there a big difference? Or I just must go to DX11? I'll be grateful for any reply.

Deltron Zero and Automator.

Advertisement
I recommend Direct3D 11 instead of older versions
Dx7 isn't useful now (for me)
Dx9 has compatibility with windows xp and xbox360 so if you need to work with these platforms you can use it.
But the present and the near future still continue being dx 11. And I think the new microsoft console will use dx11 too.
Yes, but can I learn something from these books, that I have and use it in DX11?

Deltron Zero and Automator.

If you are completely new to DirectX don't bother with learning old versions and immediately go for DirectX 11. DirectX 7 is just completely ancient and DirectX 9 is on its way out. A major architecture overhaul was done when microsoft transitioned from DX9 to DX10, so a good amount of concepts, techniques and issues to keep in mind don't transfer over to the newer versions, so I definitely wouldn't recommend learning DX9 now just to switch to a newer version later on.

DX11 provides a much cleaner API and gets rid of some techniques which still had their roots in the old days of graphics programming (like the fixed function pipeline), and solves a whole lot of issues present in the older DX versions. It also provides the concept of feature levels which allow you to run your application on DX 9.x (starting from 9.1 I believe), DX 10.x and DX 11.x as long as your target OS supports DX11 (ie. Vista and onward).


Dx9 has compatibility with windows xp and xbox360 so if you need to work with these platforms you can use it.


I always find it somewhat funny (no offense) when people mention native X360 development as a plus point of DirectX 9, as there are probably not too many people on these boards who have had the chance to actually do native (non-XNA) X360 development.
Windows XP's life cycle will officially end in april 2014, so by the time the OP has learned DirectX and maybe has something playable which runs on XP the OS won't even be officially be supported anymore.

I gets all your texture budgets!


Yes, but can I learn something from these books, that I have and use it in DX11?


Convert dx9 code to dx11 code is kind of difficult. Probably is better if you use only dx11 books.



I always find it somewhat funny (no offense) when people mention native X360 development as a plus point of DirectX 9, as there are probably not too many people on these boards who have had the chance to actually do native (non-XNA) X360 development.
Windows XP's life cycle will officially end in april 2014, so by the time the OP has learned DirectX and maybe has something playable which runs on XP the OS won't even be officially be supported anymore.


I never said that X360 support was a plus point, just telling the truth; dx9 supports x360
By the way, good to mention it. But quote me looked like I'm completely wrong. :/


I never said that X360 support was a plus point, just telling the truth; dx9 supports x360
By the way, good to mention it. But quote me looked like I'm completely wrong. :/


If my post comes over like I'm trying to say you were wrong I apologize, it was not my intention to do so :) Just trying to add some additional details

I gets all your texture budgets!


If my post comes over like I'm trying to say you were wrong I apologize, it was not my intention to do so smile.png Just trying to add some additional details


No problem, as I said good to mention it ;)

Probably no one wants to start x360 development (or console development)

Probably no one wants to start x360 development (or console development)


Off topic:

I assume quite a lot of people would want to, but the X360 is a completely closed platform, you can only do native development for it if you are a licensed developer and if you have access to devkits (read: you work for a licensed studio)
The only other option is to use XNA, but XNA provides only a limited set of features

I gets all your texture budgets!

I wonder if Microsoft will open up the Xbox360 to anyone once it reaches end of life.

I know that it will be impossible to develop XNA games on it once Microsoft shuts down the "security server". (The one that you are required to connect to during testing the game on the device making offline development impossible).

Perhaps in 5-10 years, the only native development anyone will be doing on an Xbox 360 will be via installing FreeBSD or Linux on it... but even then you will probably be using OpenGL ;)

</offtopic>
http://tinyurl.com/shewonyay - Thanks so much for those who voted on my GF's Competition Cosplay Entry for Cosplayzine. She won! I owe you all beers :)

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.
I would start out in DX11, learn how to use it, and then perhaps break open the isometric games book. Tech has changed so much that very little of the graphics code would be of any use in a modern game, but IIRC that book did have a wealth of game info that might be of some relevance. As for the other one, again, interfacing graphics cards has changed quite a bit from dx9 to dx11, but the game programming general info might still be of some use.

This topic is closed to new replies.

Advertisement