Skip to main content
gamedev.net
🔒 Locked

DirectDraw documentation

Started by wyrd Oct 17, 2003 at 4:23 AM 7 replies 1.9k views
Original Post
wyrd
wyrd
I''m looking for detailed documentation on a few things; The difference between Surface.FastDraw and Surface.Draw methods, what all of the DrawFastFlags and DrawFlags do, and detailed description of all the SurfaceCaps (OffScreenPlain, PrimarySurface, Backbuffer, etc) and what the differences are (including when to use what). I''m using managed DirectDraw. Regular C++ documenation should be good enough, assuming I can find any. I''ve already checked the MSDN documentation, and unfortunately it explains the bare minimum of things. It doesn''t give me any detailed information at all. Thanks in advance.
wyrd
wyrd
I have DX9 SDK - using DirectDraw. If people want to tell me to forget about using DirectDraw then that''s fine, but I''m not going to. I''d rather appreciate it if they''d help me out.
Eric Poitras
Eric Poitras
WOW! DirectDraw still exists.. lol. get DirectX 8.1 or lower if you want to use DirectDraw. Other than that just use D3D or should I say DirectX "Graphics". Anyway you''ll be better off because there''s lots of things you can do with D3D instead.



All that is necessary for the triumph of evil is that good men do nothing. -Edmund Burke
All that is necessary for the triumph of evil is that good men do nothing. -Edmund Burke
CodeMunkie
CodeMunkie
OK, let me just jump to your defense wyrd. The Managed DirectDraw interface in DX9 is totally different from the DirectDraw of the olden days. I'm pretty sure the new interface is just a bunch of wrapper functions for D3D, but it is hard to know since the documentation is very scant. What I do know is that I have used Managed DirectDraw in C# as a replacement for GDI+, and it can do everything we always wanted DD to do: alpha blend, rotation, scaling, etc (all of the things you would typically have to use D3D for 2D) and it seems to do it with hardware acceleration. MDD also has built in functions for drawing lines, boxes, circles, setting the pen width, pattern and color not to mention all of the classic bitblt stuff we know and love. As I said, I have only used MDD with C#, but I just wanted to point that it is a bit different now and you nay-sayers may want to take another look at it. wyrd, I know you are looking for C++ resources, sorry I can't help you there. There are quite a few C# tutorials out there, however. After you read this one:
http://www.kuhnstall.de/tutorials.html
you may decide to switch over to C#! Good luck either way.

[edited by - CodeMunkie on October 17, 2003 2:48:25 PM]
"When you die, if you get a choice between going to regular heaven or pie heaven, choose pie heaven. It might be a trick, but if it's not, mmmmmmm, boy."
How to Ask Questions the Smart Way.
Aldacron
Aldacron
Assuming that Surface.FastDraw and Surface.Draw provide the same functionality as IDirectDrawSurface::BltFast and IDirectDrawSurfaceBlt, then the difference is that the fast version does not clip. It will fail when used on a surface that has a clipper attached.

When DDraw was still rather common, a lot of the hobby crowd used bltfast exclusively because of the word fast. I remember a couple of people did tests to show there was no difference. The docs for DX7, as I recall, said that in software mode BltFast was something like 10% faster, but there is no difference when hardware acceleration is used. The docs proved true on that one. Since I used clippers all the time anyway, I never bothered with BltFast.

I''ve not taken a look at it yet, but it would seem that Managed DirectX is a library that sits on top of the old DirectDraw, perhaps even integrating with D3D to an extent. How relevant the above info is with MDD I don''t know.
wyrd
wyrd
Interesting information about Draw and DrawFast.. thanks.

Thanks for the link to the tutorial. That helped a bit (more detailed then the others I''ve found), but it still doesn''t cover the amount of detail I''d like to look at.

Oh.. and I am using Managed DirectDraw.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.