Jump to content

DirectDraw: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Monkbot (talk | contribs)
m →‎top: Task 16: replaced (1×) / removed (0×) deprecated |dead-url= and |deadurl= with |url-status=;
Dwedit (talk | contribs)
Removal from DX SDK, then DX SDK itself was deprecated, and DirectDraw became part of platform SDK.
Line 6: Line 6:
DirectDraw was introduced for Windows Mobile in Windows Mobile 5.0, replacing the graphics component of [[Games API|GAPI]], which was then deprecated.<ref>{{cite web |last1=Saffitz |first1=Michael |title=Have you migrated to DirectDraw yet? |url=https://blogs.msdn.microsoft.com/windowsmobile/2007/08/13/have-you-migrated-to-directdraw-yet/ |website=Windows Mobile Team Blog |accessdate=23 April 2019}}</ref>
DirectDraw was introduced for Windows Mobile in Windows Mobile 5.0, replacing the graphics component of [[Games API|GAPI]], which was then deprecated.<ref>{{cite web |last1=Saffitz |first1=Michael |title=Have you migrated to DirectDraw yet? |url=https://blogs.msdn.microsoft.com/windowsmobile/2007/08/13/have-you-migrated-to-directdraw-yet/ |website=Windows Mobile Team Blog |accessdate=23 April 2019}}</ref>


DirectDraw has been deprecated since version 7. As of DirectX version 8.0, DirectDraw was merged into a new package called '''DirectX Graphics''', which extended Direct3D with a few DirectDraw API additions. DirectDraw can still be used by programmers, but they must use older DirectX interfaces (DirectX 7 and below). As of the release of the June 2010 DirectX SDK package, the DirectDraw [[header file]] and [[library (computing)|library]] are no longer included.<ref>{{cite web |url=http://www.gamedev.net/reference/articles/article1247.asp |title=DirectX 8 Graphics and Video: A Fresh Start |date=2000-11-30 |publisher=gamedev.net |access-date=2019-04-23 |archive-url=https://web.archive.org/web/20070604171620/http://www.gamedev.net/reference/articles/article1247.asp |archive-date=2007-06-04 |url-status=dead }}</ref>
DirectDraw has been deprecated since version 7. As of DirectX version 8.0, DirectDraw was merged into a new package called '''DirectX Graphics''', which extended Direct3D with a few DirectDraw API additions. DirectDraw can still be used by programmers, but they must use older DirectX interfaces (DirectX 7 and below). In June 2010, DirectDraw was removed from the DirectX SDK package<ref>{{cite web |url=http://www.gamedev.net/reference/articles/article1247.asp |title=DirectX 8 Graphics and Video: A Fresh Start |date=2000-11-30 |publisher=gamedev.net |access-date=2019-04-23 |archive-url=https://web.archive.org/web/20070604171620/http://www.gamedev.net/reference/articles/article1247.asp |archive-date=2007-06-04 |url-status=dead }}</ref>, but in 2012, the DirectX SDK was merged into the Windows Platform SDK, and DirectDraw was included once again.


== Replacement ==
== Replacement ==

Revision as of 18:31, 8 July 2020

DirectDraw (ddraw.dll) is a deprecated API that used to be a part of Microsoft's DirectX API. DirectDraw is used to accelerate rendering of 2D graphics in applications. DirectDraw also allows applications to run fullscreen or embedded in a window such as most other MS Windows applications. DirectDraw uses hardware acceleration if it is available on the client's computer. DirectDraw allows direct access to video memory, hardware overlays, hardware blitters, and page flipping. Its video memory manager can manipulate video memory with ease, taking full advantage of the blitting and color decompression capabilities of different types of display adapters.

DirectDraw is a 2D API. That is, it contains commands for 2D rendering and does not support 3D hardware acceleration. A programmer could use DirectDraw to draw 3D graphics, but the rendering would be slow compared to an API such as Direct3D which does support 3D hardware acceleration.

DirectDraw was introduced for Windows Mobile in Windows Mobile 5.0, replacing the graphics component of GAPI, which was then deprecated.[1]

DirectDraw has been deprecated since version 7. As of DirectX version 8.0, DirectDraw was merged into a new package called DirectX Graphics, which extended Direct3D with a few DirectDraw API additions. DirectDraw can still be used by programmers, but they must use older DirectX interfaces (DirectX 7 and below). In June 2010, DirectDraw was removed from the DirectX SDK package[2], but in 2012, the DirectX SDK was merged into the Windows Platform SDK, and DirectDraw was included once again.

Replacement

Concurrent with the deprecation of DirectDraw was the deterioration of Windows compatibility with old games that relied on this old API, with Command & Conquer, Warcraft 2, and Theme Hospital among those affected. In newer Windows versions, some games will refuse to run under a 32-bit bit depth, others showing a black screen or glitching when switched out. Re-implementation of DDraw is, as a result, vital to many communities still hosting these games. Commonly used replacements include:

  • WineD3D from Wine, which translates into OpenGL.[3]
  • cnc-ddraw and ts-ddraw from CnCNet, a Command & Conquer multiplayer network. Translates into GDI, OpenGL (with GLSL support), or Direct3D 9.[4]
  • DDrawCompat, a wrapper for the vanilla ddraw that corrects problematic calls.[5] ddwrapper is an earlier, unrelated wrapper that does the same thing.[6]

References

  1. ^ Saffitz, Michael. "Have you migrated to DirectDraw yet?". Windows Mobile Team Blog. Retrieved 23 April 2019.
  2. ^ "DirectX 8 Graphics and Video: A Fresh Start". gamedev.net. 2000-11-30. Archived from the original on 2007-06-04. Retrieved 2019-04-23.
  3. ^ Dossena, Federico. "WineD3D For Windows". Federico Dossena. Retrieved 23 April 2019.
  4. ^ CnCNet (21 April 2019). "cnc-ddraw: GDI, OpenGL and Direct3D 9 re-implementation of the DirectDraw API for classic games for better compatibility with Windows XP, Vista, 7, 8, 10 and Wine". GitHub. Retrieved 23 April 2019.
  5. ^ narzoul (21 April 2019). "DDrawCompat: DirectDraw compatibility and performance enhancements for Windows Vista, 7, 8 and 10". GitHub. Retrieved 23 April 2019.
  6. ^ Aqrit. "ddwrapper". bitpatch.com.

See also