Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

DirectX 9 or DirectX 10 for starters?

Tags:

directx

I want to do projects to make my resume more appealing to game companies. So I am going to start buying books. But I don't know rather to read DirectX 9 or 10 api books to start off with. DirectX10 is great, but it seems the industry is moving slow to 10. so should I use 9 or go with 10 ??

like image 632
numerical25 Avatar asked Apr 03 '10 15:04

numerical25


People also ask

Is DirectX 9 still supported?

DirectX 9 was released in 2002 for Windows 98, Me, and XP, and currently is supported by all subsequent versions.

Do I use DirectX 9 or 11?

It all depends on the rest of your system. If you are running a system that can barely play a game, I would suggest DX9 because it was optimized for the slower systems that were out when it was written. If you are running a better system, I would use DX11.

Is DirectX 11 faster than 9?

In other words, using those recommended settings in DX9 produced 30% better performance than the Very High preset as-is, while on DirectX 11 they sped things up by 31%.

Does DirectX version matter?

DirectX is a suite of multimedia technologies required by many Windows games. If your PC doesn't have the right version of DirectX installed (the product box should tell you which one you need), your game might not work properly.


2 Answers

I would suggest learning the basics using directx9 and then rapidly moving on to dx11. DirectX11 is harder to get started in than DirectX9 because it's slightly more complex but also a lot of the utility functions in D3DX are no longer there, or have been moved to source code like the effects framework. This is no bad thing, but it does make it signifiacantly more complex to learn as you have to learn a lot more things at once.

Spend 2 or 3 weeks learning DX9 then move to DX11 for "real" work :P

Learn basic DX9 using the fixed pipeline and d3dx for loading models etc. It's a lot simpler than DX11 and much better documented, and you'll get a triangle and then a model on screen very much faster. Play with that until you completely understand the basic concepts and tranformations.

But then rewrite it all using shaders only. You'll need to use them in DX10/11 anyway but it's a lot easier to learn when you already have a working framework of code, and it's a lot simpler to get that working in DX9.

Once you have that working, learn DX11. You'll have to switch math libraries. You'll have to invent your own model formats and loaders. You'll have to either invent your own effects framework or use the example one, but they are all much easier now you already know the basics of 3d and programming shaders.

like image 150
jcoder Avatar answered Oct 14 '22 17:10

jcoder


TBH further to OneOfOne's comment if you know how to do 3D development in GL, D3D9, D3D10 or D3D11 then you can transfer those skills to any of the others with a little bit of work.

Personally I'd aim for D3D11 as that way you are learning the cutting edge. You'll find you'll be able to do GL, D3D9 or D3D10 with a little work. Do enough work on the theory and you'll discover that its not even that hard to transfer the skills to a fully software engine.

like image 20
Goz Avatar answered Oct 14 '22 19:10

Goz