   Stupid questions about DirectX8 to DirectX9
  I've been considering moving my game's codebase from DirectX 8 to 9 for a couple of reasons. One is that in Direct9 you can get an HDC from a surface with the GetDC member function, which isn't available in 8 as far as I can tell. Also I hear that DirectX 8 is deprecated on 64 bit windows which is becoming increasingly mainstream. Does this mean DirectX 8 apps won't run on 64bit Windows? -- no, right?Anyway how big a transition is this going to turn out to be? What problems am I likely to run into, etc.[Edited by - jwezorek on May 12, 2010 12:03:34 PM]
  My memory is a little hazy, having done this a couple of times about 5 or 6 years ago.Anyway, from what I recall, one of the differences was an extra parameter in a couple of functions, CreateVertexBuffer I think was one, which is NULL.And SetSamplerState instead of SetTextureState for some texture functions.It's pretty straighforward though, you shouldn't have too many problems.   ;  The changes in the D3D interfaces is minimal, but if you use D3DX, you might notice some more significant differences.As for the 64-bit issue; I believe DX8 and below is still supported, it's just emulated through DX9.   ;  Yesterday, I just installed Tomb Raider 3 again ;) Had to play some old game, don't know why. Anyways, I am on a 64bit Windows7 and I've noticed no problems.TR3 is DirectX7 or 8, I don't know, but it's pretty old..   ;  Thanks for the replies.Quote:Original post by Evil Steveif you use D3DX, you might notice some more significant differences.I use basic resource acquisition routines like D3DXCreateTextureFromFileEx, D3DXLoadSurfaceFromFile, D3DXCreateTextureFromResource, etc.and also several of the matrix creation/manipulation ones: D3DXMatrixScaling(), D3DXMatrixRotationZ(), D3DXMatrixTranslation(), D3DXMatrixOrthoLH(), and etc.From googling it looks to me like all of these are still around. What did they get rid of? ;  A few words from experience - if you did any skinned mesh stuff using the D3DX interfaces, be prepared for pretty much a re-write!  It's all gone/different.It was from this frustration that I went over to XNA - I just couldn't face the matrix math again!   ;Quote:Original post by jwezorekI use basic resource acquisition routines like D3DXCreateTextureFromFileEx, D3DXLoadSurfaceFromFile, D3DXCreateTextureFromResource, etc.and also several of the matrix creation/manipulation ones: D3DXMatrixScaling(), D3DXMatrixRotationZ(), D3DXMatrixTranslation(), D3DXMatrixOrthoLH(), and etc.From googling it looks to me like all of these are still around. What did they get rid of?As far as I know, they didn't get rid of anything, they just changed a few parameters. Those functions are unchanged I think, but others (Particularly ID3DXMesh, ID3DXFont and ID3DXSprite related ones) have changed slightly, and if you rely on them heavily you may have to make quite a few changes to get your code to compile.   