Archived

This topic is now archived and is closed to further replies.

traskjd

DirectDraw in Dirext X 9

Recommended Posts

I''ve been tinkering with directx 9 for the last few days and I want to create a 2D game (some of you might have seen another thread I started before) anyway... From one of my threads in the isometric forum it is said that DirectDraw still exists in DirectX9 but that it hasn''t been updated since DirectX 7 or some such thing. I''m looking for some beginner tutorials in DirectX for creating a fullscreen directDraw based game. Basically just covering how to setup DirectDraw. The real core of my question is - When converting older tutorials to a more modern version of DirectX can I just change all the "7"s to "9"s? Since it usually works with DX8 -> DX9 for D3D tuts? I look forward to your response Visit www.traskmicrosystems.com and get a free blog

Share this post


Link to post
Share on other sites
It''s relatively easy to upgrade a DX8 app to DX9.

I''d say it''s harder to go from DX7 to DX8 (or newer) because there was such a jump in the technology.

If you''re using DirectDraw, you''re stuck using DX7 interfaces.

However, if you want a 2D wrapper around D3D for your isometric game, you could either write one, or scrounge the web for source


Development Lead
Windows Graphics & Gaming Technology

Share this post


Link to post
Share on other sites
I''m wanting to use DDraw in 9.

All I really want to know is - do I just leave the numbers at 7? (as in how a lot of names in DX have the version number attached - I don''t worry about DDraw ones being changed from 7 to 9?).

Thanks for your input

Visit www.traskmicrosystems.com and get a free blog

Share this post


Link to post
Share on other sites
Hello,
You''ll have to use Directdraw 7. DDraw has not been supported anymore in version 8, and I don''t believe in 9 either (although I did see mention of it in the SDK, I think managed DirectDraw). You can still use the DirectX9 SDK though... don''t bother looking for the version 7 sdk. As for the tutorials for ddraw, don''t need to modify anything as long as they are version 7.

And before you ask you can mix ddraw 7 with other components of DirectX9. Except for DXGraphics I think.

Good luck,

Mike

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
the unmanaged i.e c++ directx9 api does not have a new version of ddraw but managed directx9 does, although it really isnt new, just a wrapper for ddraw7. I was also confused about this when dx9 came out.

Share this post


Link to post
Share on other sites
Thanks guys

I think the reason for DDraw in 8 & 9 is probably 50% for legacy support and 50% for people to actually use it.

Visit www.traskmicrosystems.com and get a free blog

Share this post


Link to post
Share on other sites
The reason for DirectDraw in DX9 is for backwards compatability. All the same interfaces have to be available for older code so that they still work. It is there if you WANT to use it. DDraw was not put in 8 because 3d is becoming more common and Microsoft had their reasons, therefore it is not in 9 because people who got used to using D3D to do their 2d stuff in 8 can just use the same techniques now. Its not 50/50.. its 100% backward compatability.

=*=
If things seem bad, think that they can get a whole load worse, and they don''t seem so bad anymore

=*=

Share this post


Link to post
Share on other sites
As hammerstein_02 said, it''s for backwards compatibility. If Microsoft dropped DDraw support in DX, then alot of games wouldn''t work

It''d be smarter to use D3D, just without any 3D geometry - since there will be a huge speed up on 3D cards, and almost everyone that plays games these days would have AT LEAST a TNT2.

Share this post


Link to post
Share on other sites
So is DirectDraw7 still supported by MS, or is it considered obsolete like D3D Retained Mode (and therefore not supported)?

In theory you can still use Retained Mode, but you really wouldn''t want to. Its been getting steadilly more buggy since MS stopped supporting it with DX7.

Is DirectDraw going to go the same way?

Share this post


Link to post
Share on other sites
As far as I know, directdraw7 is not technically supported anymore. Try finding the Documentation for it and you''ll know what I mean. however, because of the way COM works, DirectDraw7 interfaces will always be there in new versions of directx. From what I''ve read about COM is that old interfaces cannot be changed, only new stuff added. So to answer your question, Directdraw may not be directly supported by MS, but it will always be available.

Someone correct me if I''m wrong


Mike

Share this post


Link to post
Share on other sites
You''re not wrong. but that isnt quite what I asked. I know that DDraw will still be available in new versions of DX, but that isnt the same as it being supported. Retained Mode is still available, but with each new release of DX it gets more unusable. MS dont put any resources into testing or maintaining it. Is the same thing true now for the old DDraw interfaces?

This is probably a better question for the DX mailing list.

Share this post


Link to post
Share on other sites