   Directx9 + Directx10 Programming Help ?
  I'm new to Direct X APIstill confuse to decide which one to choose between x9 and x10i have some questions , plz help meAll DirectX9 functions from D3D9 are available in DirectX10 D3D10 ?If i program something in DirectX 10 ? Will it will be easy to convert it in DirectX9 compatible somehow ?I want to program my Game in High Graphics using DirectX 10 but i still want to introduce a LOW GRAPHICS OPTION in my game that run on Direct X9 for XP users , how will i perform that ? Do i have to reprogram the whole Game in DirectX9 , or Do i need to just change the function calls inside the game ? do i need to create separate EXE for both ? Please help me DirectX experts , i'm beginner and confused   
  DirectX 10 did away with the fixed function pipeline meaning that you'd need to write shaders for everything, even basic transformation and lighting. I do believe that some semantics were changed with DX10 as well but I'm not toally sure about that.To do what you are proposing your best bet would be to abstract the rendering engine away such that you can write a DX10 and a DX9 version and switch between them and your game app will be none the wiser.   ;Quote:Original post by ammar26All DirectX9 functions from D3D9 are available in DirectX10 D3D10 ?No, there are bits of D3D9 that aren't in D3D10 (the fixed function pipeline). Everything that D3D9 could do, D3D10 can do, but now you have to write some bits yourself instead of letting D3D do it for you. It's pretty easy though.Quote:If i program something in DirectX 10 ? Will it will be easy to convert it in DirectX9 compatible somehow ?If you restrict yourself to only using particular DirectX 10 features, then yes, it should be quite easy. Use shader model 3 or lower, only access D3D from a single thread, and don't do weird things with your resources (like treating vertex buffers as textures). I think that about covers it.Quote:I want to program my Game in High Graphics using DirectX 10 but i still want to introduce a LOW GRAPHICS OPTION in my game that run on Direct X9 for XP users , how will i perform that ? Do i have to reprogram the whole Game in DirectX9 , or Do i need to just change the function calls inside the game ?You'll need to write two different versions of your rendering code, one using Direct3D9 and one using Direct3D10. You should try and share code between them as much as possible - for example, code that loads 3D models into vertex/index buffers can probably be the same for both. You can just have both code paths in your executable if you like, or you could put each onto into a separate DLL and only load the DLL for the code path you're using.   ;  thanx   