   Should I learn DirectX 10 or DirectX 9 ?
  Hi, I am starting to get good with C++ and I am really interested in learning DirectX and build 3d engine, graphics stuff in general ... build my way up and see where it take me. I got a lots of books ont the subject and I took 1 course at www.gameinstitute.com the directx module 1.. now  I am ready to start learning directX but my question is :Should I learn DirectX9 or DirectX10 ? because I am just starting and I wonder if  I should study hard directx 9 'cause all my books or written for directx 9 or I should start and learn dx10 with my vista beta 2 and start learning dx10 with the sdk slowly ???which is better and why ?  because  I am telling myself, the time it'll take me to get good at directx (maybe 1years at 10hours a day) dx10 will be everywhere ... so what should I doThanks a lots   
  D3D10 won't be everywhere, except on Vista systems, and even on that platform the majority of D3D apps will be written to D3D9 for a while.I'd suggest you start with D3D9 and skip the fixed function pipeline stuff, since that isn't going to be in D3D10 anyway.  Learn how to write HLSL shaders and how to use PIX to profile your app and detect bottlenecks, and the transition to D3D10 should be rather painless.;  Currently, the problem with learning Direct3D10 is it is still in beta and only runs on vista. No current graphics card support Direct3D10, so all apps would have to be run with the reference device (which will go around 1 FPS with anyhting on the screen).I perso nally would go with DirectX9. You can get a good foothold there and begin learning D3D10 when it is available. The syntax should not be too different, though you may have to relearn some things.   ;  Do yourself a favor and start learning with D3D9. D3D10 is in Beta, is subject to change dramatically, and will only be available on Windows Vista. D3D9 is far from obsolete even with D3D10 on the way.   ;  I'd go with DX9 and get this book:http://www.moon-labs.com/ml_book2.htm (uses the programmable pipeline)The author mentioned that his next book might be one that helps you go from DX9 to DX10.   ;  All in all, i'd rather concentrate on learning theory such as how vertices are transformed and 'things' are rendered on the screen. Applying this theory using an API is as simple as finding the relevant methods and structures.If I had to choose i'd rather learn Direct3D9 at this point then concentrate on Direct3D10. I'd play with Direct3D10 though as I am learning Direct3D9.I hope this helps.Take care.   ;  In addition to whats already been said, I'd recommend going with DirectX 9.D3D10 is Vista only and still 6 months from a general release and not technically finished yet. Its a moving target - I'd go so far as to say that only early adopters and experienced D3D programmers should be working with the CTP's at the moment.D3D9/DX9 is a stable API that is well understood by a large number of people and has the advantage of lots of freely available samples/demos/articles/tutorials.However, you can make any future migration easier for yourself:1. Have a look at the documentation for D3D10, see if you can get a rough idea of whats-what and get a "general feel" for the API. Then you'll know whats coming.2. Learn D3D9's HLSL form of shaders - dont bother learning the fixed function route and dont bother with assembly shaders. Both are going away in D3D10 - not much point learning technology thats already out of date [smile]hthJack   