The DirectDraw API has been more or less deprecated for game developers since the release of DirectX 9.0 SDK back in 2002. The last time we shipped samples or documentation on DirectDraw dates back to the DirectX 8.1 SDK. Game developers looking to do 2D rendering should be using Direct3D, or on systems with DirectX 11 the Direct2D API could also be a good choice. The DirectDraw documentation can still be found on MSDN. A few lingering issues, however, has kept the DirectDraw header and import library in the DirectX SDK for many long years... In the DirectX SDK (June 2010) release, the DDRAW.H and DDRAW.LIB files are no longer there. The DirectDraw header, DDRAW.H, is included with Visual Studio 2008 because it includes the Windows SDK 6.0A release, and is present in all the newer versions of the Windows SDK including the most recent 7.1 release. Because we do not officially support Visual Studio 2005 in the June 2010 release, we finally removed the header and import library. There are only two samples in the DirectX SDK (June 2010) that even need the DDRAW.H header: the rather dated Direct3D 9 era sample ConfigSystem and the more recent sample VideoMemory. These compile fine with VS 2008 or VS 2010 due to the Windows SDK. It is worth noting, however, that the import library DDRAW.LIB is not present in the Windows SDK. It is therefore recommended that if you do make use of DirectDraw, you use explicit linking (i.e. LoadLibrary and GetProcAddress) to get any DDRAW.DLL entry-points. This technique is used by these two samples. These samples also highlight the one area of DirectDraw that game developers continue to make use of even in modern games: getting the amount of video memory on the graphics card. It turns out that this functionality is not available in the Direct3D 9 API, so many game developers use DirectDraw just to get this information as part of their game configuration and user settings. There are some problems with this use, however, as noted in the VideoMemory sample. With the growth of physical memories both RAM and VRAM, this API is also having problems coping since it returns 32-bit DWORD counts of the size in bytes. It is recommended that when DXGI is available (Windows Vista, Windows 7, etc.), that is the most reliable API to use for getting video memory size information. Read more: Games for Windows and the DirectX SDK
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment