Jump to content
  • Advertisement
Sign in to follow this  

DirectX 9 or DirectX 11 ?

This topic is 1668 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

So here's my dilemma: I don't know which API version I should focus on learning/using, DirectX 9 or DirectX 11 ? I want to start off with making some simple 2D games just to get a feel of the API and then eventually move into 3D games. I have prior experience with D3D9 and if i start reading about it again I'll pick it up quickly and be on my way with it in no time...however lately I've been trying to learn how to code with D3D10/11 but I'm not having any luck with it because of the lack of tutorials on the web, hard to follow documentation, etc.

I purchased a book called Introduction to 3D Game Programming with DirectX 10 by Frank D. Luna and it's an ok book but it doesn't quite tell you anything related to 2D. For some reason I just find D3D10 and D3D11 to be very hard to understand/learn compared to D3D9 but I know I'll probably have to learn how to use them eventually.

Do you think it's better for me to stick with D3D9 and relearn how to make 2D games with it and then move into 3D or is D3D10/11 better? And also would D3D9 be an easier transition into 3D after I'm comfortable with 2D compared to 10 and 11 ?

If you guys suggest 10/11 could you please suggest some good books/links I could look at because my google-foo is really letting me down lately and I can't find anything that's helpful.

Share this post


Link to post
Share on other sites
Advertisement
Use DirectX11 if you can, the book you have is great, make sure you understand everything before moving between chapters. Its probably one of the best introduction to direct x books you can buy. For an advanced book on the subject id recommend Jason's.
Since your not sure how to do 2D sprites, I think this is what your looking for: http://www.rastertek.com/tutdx11.html check tutorial #11. smile.png Edited by DevLiquidKnight

Share this post


Link to post
Share on other sites
Direct3D 9 supports Xbox360 and Windows XP, whereas D3D11 does not.

Direct3D 11 supports Windows Vista onwards only, but can run on earlier D3D9-level hardware using feature levels.

So the choice comes down to:
360 or XP support required? Use D3D9.
Otherwise use D3D11.

Hope that helps.

[Edit] The feature levels of D3D11 also mean there's also no reason to use D3D10 any more. Edited by Telios

Share this post


Link to post
Share on other sites
Ok thanks guys...i guess I'll start to learn D3D11 then. Any good books or tutorials you guys would suggest for me to start with?

Share this post


Link to post
Share on other sites
A handy secret to know is that, while much of Microsoft's D3D11 content is rather poor (it's improving though), you can quite easily jump back to the corresponding D3D10 content and just mentally translate the API calls. 10 and 11 are so similar that this is completely painless to do in almost every case aside from the handful of 11-only features you might be using.

Share this post


Link to post
Share on other sites
I am considering the fact that people who already know DirectX 9 are telling a newbie to jump right to DirectX 11. Are you saying that the previous knowledge that came from DirectX 9 has no bearing on your understanding of CG concepts that are relevant in DirectX 11? To me it seems similar to suggesting algebra is not that important, so just right to calculus. Furthermore, I would think concepts that were covered in depth in the DirectX 9 book are (if covered) glossed over in the DirectX 11 book. So can someone give this a little thought and provide a reply on how worthwhile it would be to understand where 'we' have been (i.e. fixed pipeline) in our effort to understand the state of the art technology (i.e. DX11). Thanks

Share this post


Link to post
Share on other sites
OK.

Best case is that most of what you learn on the fixed pipeline will be completely irrelevant to a shader-based setup. Worst case is that it will be misleading and cause you to make a few false starts.

That's only a slight exaggeration - some concepts will transfer over OK, but moving to shaders really does change the game quite significantly. By trying to approach them with the old mindset you'll only limit yourself.

D3D11 doesn't build on D3D9 the same way that calculus builds on algebra - that's a flawed analogy. D3D11 really is standalone and you don't need anything from 9 to understand it and use it effectively. By going straight to 11 you get to skip a lot of the outdated cruft and annoying design decisions in 9, so it really can be easier.

Rather than hypothesising about the contents of books, why not check them out down your local library or store? Or at least ask around here for opinions on titles that look interesting?

Share this post


Link to post
Share on other sites

Direct3D 9 supports Xbox360 and Windows XP, whereas D3D11 does not.

Direct3D 11 supports Windows Vista onwards only, but can run on earlier D3D9-level hardware using feature levels.


Ok, that;s clear, but does Direct3D 9 support Vista and Windows 7 ? In other words, can someone install DirectX 9.0 SDK on Windows 7 and develop a game that will run on WinXp to Win 7 and above ? Edited by solenoidz

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!