   How substantial are the differences between DX8 and DX9?
  Hello everyone.I'm planning to have my first steps with DirectX sometime soon, and for that purpose I'll be learning from Programming Roleplaying Games in DirectX. However, that book is written for DirectX 8, and considering I'll probably be using the DirectX 9 SDK, I'm worried about how the changes affected the language. More importantly, will the DX8 version of the code code even compile on DX9? I'm concerned mostly about initialization, setting up the window, and getting something on the screen, not about more advanced features (at least for now).Thanks in advance!Orpheus   
  Im not exactly sure, but i think Directx 9 has better support for shaders.   ;  Yes, Direct3D9 has support for high level shaders, i.e. HLSL while Direct3D8 only supports assembly shaders.This is in addition to the normal updates that came with 9 to fix things, etc.The DX8 code, at least the simple stuff you mentioned, should compile with the DX9 SDK, as the SDK is backward compatible. The changes to DX9 won't affect your programming language (if that's what you meant by that).   ;  Thanks for the answer, and yes, I was referring mostly about differences in the programming language, but it's also good to know what features were added. Good to hear that the code is backward compatible.   ;  I dug this up from an old interwebs tube.From what I glanced over, many of the first changes were changes to parameters, newer interfaces, and the like, but the most important change is the addition of SM 2.0 and I think the addition of D3DX but I'm not too certain about the latter.Basically if you want to use the DX8 from the book, you should be fine, but it might take a little while to convert it to DX9 unless you rewrote it yourself without modifying the old code. That and you wouldn't have HLSL or effects.   ;  Hum... so the code needs some conversion after all. Thank you for the link, that should prove useful when the time comes to start working with DirectX.I'm a bit confused about your last sentence. You said "Basically if you want to use the DX8 from the book, you should be fine, but it might take a little while to convert it to DX9". When you say I should be fine, I take it that most DX8 code will work on DX9. But then you say it might take a little while to convert it to DX9. If you mean that I'll have to convert the code to DX9 myself, I think that's not so much a matter of time, as it is a matter of knowledge. Considering I know absolutely nothing about DirectX, and what I'll be learning will be in DirectX8, I'm pretty clueless about how I will know which parts of the code to change, and into what.Maybe I should get a DX9 book and consult it alongside to spot the basic differences.   ;  First off, congratulations on purchasing such an excellent book. You probably couldn't have picked a better book to start learning directX with. Seriously, i have "Programming role playing games in DirectX" and it's an excellent book, i have used much of the code in the book before. That said, you need to be aware of parts of the book that use sprites. The default parameters used to setup sprites changed from DX8 to DX9, and since the book uses mostly the same codebase for all the examples (past a certain chapter) you're going have to either re-write the sprite code, or simply comment all that functionality out. Personally, it might be best to comment it out. I was unable to "patch" it up to work with DX9, then again that was a while ago, and i'm a lot better at what i do now.And if you're like me, you're using 3d stuff, not sprites anyway.So yeah, great book, you shouldn't have any trouble getting the code to work with DX9 except for the sprite code i mentioned   