Archived

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

quentin21

DirectDraw Surface Rotation

Recommended Posts

Right, I have come to a crossroads in my program? Do I waste lots of memory and create four surfaces in all 8 directions? Or do I create 4 surfaces, and rotate the surface to the correct angle in the program? Duh! I know that bitmap rotation is a directx feature (I am using DirectX 7, with DirectDraw being my concern at the moment) Is it a hardware or software feature to rotate a surface? If it is a software feature, how exactly do I go about acheiving it? I do know how to Blt the bitmap correctly, is it much more of a step from here? Thank-you in advance, sorry if this is a stupid question T S B

Share this post


Link to post
Share on other sites
DirectDraw only really provides an interface to the hardware, therefore doesnt really have any cool non-hardware features such as rotation, alpha blending, etc..

DirectDraw features are based on upper-market video card features that were released a few months before DX7 came out so if a cheap/old video card doesnt support a certain function, DirectDraw emulates it in software to keep things compatible.

Hell knows why MS didnt include Alpha Blending, alot of cards support it

The only way to rotate a bitmap is if you do it in 3D or if you write your own rotation code, or if you are only using 8 directions you can use the flip and mirror flags in the ->Blt() function (Specified in DDBLTFX I think). The only problem with this is some cards (including my GeForce256) dont support hardware mirroring therefore DirectDraw does it in software which results in about 10 frames being lost (depends on the size of the mirrored blits).


Share this post


Link to post
Share on other sites