Archived

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

D3D8: Fast 2D graphics with no 3D hardware

This topic is 6165 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I was wondering if there was a fast way to effectively do 2D blts in D3D8 when there is no 3D acceleration present. I found some tutorials on doing 2D graphics in DX8 and they all talked about doing it by texturemapping the source graphic to the target on a rectangular region difined by two triangles. I wrote a short program to just perform one "blt" per frame, and I the program ran at 0.3 frames per second. Is there a faster way to do 2D graphics in DX8? Can I just get the back buffer surface from the Direct3DDevice, lock it, and then use my own blt functions to copy from another locked surface or texture to the back buffer? I haven''t written any code to see how fast this runs yet, but I was wondering if anyone knew if this technique would be fast (comparable to using DirectDraw7, which I am using in the meantime) on a computer with no 3D hardware. Thanks, Aeetes Where''s my Golden Fleece?

Share this post


Link to post
Share on other sites
The reason I ask is because I am in the process of writing a game application framework class library. I want my library to support doing both 2D and 3D graphics, making no assumptions about any sort of hardware being present (ignoring 3D when no 3D hardware is present).

So I figured it would be easier on me for sanity sake if I can have similar initialization code for both 2D and 3D graphics (i.e. using Direct3D8 for both 2D and 3D). For this reason, and because I didn''t really want to mix two versions of DirectX in the same library, I wanted to know about fast 2D in Direct3D8 when no 3D hardware is present.

Thanks,

Aeetes

Where''s my Golden Fleece?

Share this post


Link to post
Share on other sites