dx7 to dx8 porting easy?

Started by
3 comments, last by GekkoCube 21 years, 3 months ago
Im linking with directx 8.1, but all my calls are still based off od directx 7. My question: If i changed everything dx7 to dx8.1, would this theoretically work? or is directx 8.1 structurely different???
Advertisement
I''ve never tried it, but the major changes between 7 and 8 (e.g the nonexistence of directdraw) would make it a bit difficult.
Assuming you''re talking about Direct3D here (the rest is much simpler since it hasn''t changed as much):

The whole enumeration and setup in DirectX 8 is much easier and cleaner. So ALL the enumeration and setup needs ripping out and rewriting - we found DX8 took roughly a quarter of the code and simplified other things.

As mentioned above all the DirectDraw stuff is gone - if you do any DirectDraw blit type stuff in the same frame as D3D stuff (which was a baaad thing to do even in DX7 in some cases), then that''ll have to be re-written.

Your flip chain/blt chain stuff needs re-doing.
Your texture creation stuff needs re-doing to an extent.

A better idea is probably to look at what you can keep and then re-write all the surrounding parts. The majority of your renderstates, texture stage state, vertex buffer create, draw*primitive, settexture etc calls should be pretty trivial to port.

A good place to look is in the docs under the "what''s changed in the API" topic and see how many of those things you''ll need to change.

Personally I''d re-write, and port just the core rendering calls, then even re-evaluate those to see how shaders can help.

Simon O'Connor | Technical Director (Newcastle) Lockwood Publishing | LinkedIn | Personal site

My goodness...this i kind of over my head.
I''ve been using dx7 for the past couple of projects - basically using the same skeleton project.
I''ll definitely check out the "whats changed" in dx8 API doc.
hopefully it will help a lot!

my project is D3D, and im not using any directdraw calls, i think (i am running in windowed mode).

And i certainly wouldnt mind the quarter of the code thing when/if i switch to dx8 calls.
My goodness...this i kind of over my head.
I''ve been using dx7 for the past couple of projects - basically using the same skeleton project.
I''ll definitely check out the "whats changed" in dx8 API doc.
hopefully it will help a lot!

my project is D3D, and im not using any directdraw calls, i think (i am running in windowed mode).

And i certainly wouldnt mind the quarter of the code thing when/if i switch to dx8 calls.

This topic is closed to new replies.

Advertisement