DirectX 9 or DirectX 11 ?
#1 Members - Reputation: 240
Posted 03 July 2012 - 08:12 PM
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.
#2 GDNet+ - Reputation: 1731
Posted 04 July 2012 - 01:08 AM
Real hard truth is, if you find the lack of 2D concepts in a book a problem, you probably don't have much knowledge to start with. So why not to start with something that is modern and cleaner?
Similarly, if you still think in terms of APIs to use, I'm afraid you don't have much to save, otherwise you'll realize the simple fact the API will soon become detail in a complex system.
No matter what your task is, D3D1x is more streamlined and compact. Of course you have to bite the bullet when it comes to emulating the FFP but the generic approach involved is in my opinion far better than FFP, where vertices are transformed in a way if you turn out <this switch> unless <this other switch> is also turned on, in which case <something different> will happen. And what about resource management? It actually makes sense!
But anyway, you know D3D9 already? Much better to learn another API: it will help you in getting a more solid understanding of the notions involved.
#3 Members - Reputation: 680
Posted 04 July 2012 - 01:18 AM
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.
Edited by DevLiquidKnight, 04 July 2012 - 01:31 AM.
#4 Members - Reputation: 392
Posted 04 July 2012 - 12:14 PM
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, 04 July 2012 - 12:14 PM.
#6 Members - Reputation: 3810
Posted 04 July 2012 - 01:21 PM
It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.
#7 Moderators - Reputation: 3967
Posted 05 July 2012 - 07:14 AM
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?
http://www.amazon.co.uk/Practical-Rendering-Computation-Direct3D-11/dp/1568817207/ref=sr_1_1?ie=UTF8&qid=1341494031&sr=8-1 should do you
#8 Members - Reputation: 102
Posted 19 November 2012 - 12:49 AM
#9 Members - Reputation: 3810
Posted 19 November 2012 - 04:20 AM
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?
It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.
#10 Members - Reputation: 303
Posted 19 November 2012 - 05:06 AM
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, 19 November 2012 - 05:07 AM.
#11 Members - Reputation: 2044
Posted 19 November 2012 - 05:20 AM
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 ?
Sure, as long as your target machine has the required runtimes installed.
And there's no such thing as the DirectX 9.0 SDK, all current versions of DirectX (including 9) are bundled together in the DirectX SDK (which is now part of the Windows SDK)
#12 Moderators - Reputation: 3967
Posted 19 November 2012 - 08:08 AM
Give it a year or two and your DX9 knowledge will be worthless and you'll need to learn the latest APIs anyway.
If you are starting RIGHT NOW and want to learn how to use the DX API then 11 is the only sensible choice as it's what all the up and coming tech is based around.






