dx7 to dx8 porting easy?
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???
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.
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.
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.
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.
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
Popular Topics
Advertisement