   Are DirectX 7/8/9/9.0c books completely compatible with DirectX 10/11?
  Those who missed the question, it's in the subject.I can't ask a question in a detailed sense that's more than what's in the subject. I don't think that the question at hand needs more details, other than a simple background to it.I have here in my possession a lot of DirectX 9 and older programming books. I wondered if Windows Vista and 7's DirectX are both compatible with the older versions of DirectX.I have understood that, DirectX 10 have some features of DirectX 9 removed/modified/changed. I have also understood that DirectX 11 have some DirectX 10 stuffs modified, but not understanding clearly.The background ends at the first period of this sentence. Thanks in advance.   
  You should be able to ask for a DX9 interface and get one, even on systems with dx10\11.  You can't mix stuff so your app will either be DX9 or DX8 or whatever.   ;  I assume you're asking this because you want to learn to program Direct3D and want to do that on Windows Vista / 7.Each Direct3D API is different, although 8 and 9 are close as are 10 and 11. The problem with trying to implement directly what's in the books is not just the API, though, but the SDK. The older SDK's are not available, and even if they're included with the books, they might not even install on Vista and up, and will not work with modern Visual Studio versions (depending on how far back you're going).You can still learn the concepts of 3D from the books. Vertex and index buffers are still used in Direct3D 10 and 11, for example. Pixel and vertex processing exists, too. However, D3D10 and 11 don't have fixed function processing -- no concept of lights, etc., so you will have to learn to program shaders. Shaders do exist in D3D9, but not before that (except in a primitive state in D3D8 that's not worth learning).I can only hope you have an up to date D3D9 book. If you have one, that's a good way to start. D3D10 and 11 are very different, but D3D9 is still being used today, and it'd be a fine introduction to 3D.   ;  I made the mistake of buying a DirectX 10 book ("Beginning DirectX 10 Game Programming").  It tells me in the beginning of the book that it will really only work with Windows Vista.  I still use XP.  I shoulda bought the DirectX 9 book.   ;  Couple of things here...Firstly, the version of DirectX has little to do with the interfaces you can use. Just because a machine has a DirectX 10/11 capable card does not mean you cannot use interfaces from earlier versions (example: Free Realms).You can use DirectX 7, 8, or 9 on any machine that has support for those versions of DirectX, even on Windows 7/Vista. However, you may have issues obtaining the interface (as you'll need the headers) unless you install an older version of the SDK, which will generally not link to more modern versions of Visual Studio...Now, are the books compatible? If you mean can you write DirectX 7 code and compile them against DirectX 10... no. The interfaces are entirely different between 10/11 and 9/8/7. Even going from 8 to 9 has several significant differences. However, the CONCEPTS, vertex buffers, index buffers, texture resources, shaders, etc, all transfer over between APIs, even if the function calls are different. THAT is what you should be learning, not minor niggling API details that change every once in a while as the technology advances.   ;Quote:Original post by WashuNow, are the books compatible? If you mean can you write DirectX 7 code and compile them against DirectX 10... no. The interfaces are entirely different between 10/11 and 9/8/7.That's all I wanted to know. Thank you for your answer.   