Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
DirectDraw
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Old API of Microsoft's DirectX API}} {{more citations needed|date=January 2009}} '''DirectDraw''' (ddraw.dll) is an API that used to be a part of [[Microsoft]]'s [[DirectX]] [[application programming interface|API]]. DirectDraw is used to accelerate [[Rendering (computer graphics)|rendering]] of 2D [[Computer graphics|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 overlay]]s, hardware [[bit blit|blitters]], and [[Double buffering|page flipping]]. Its [[video memory]] manager can manipulate video memory with ease, taking full advantage of the [[bit blit|blitting]] and color decompression capabilities of different types of [[video card|display adapters]]. Because DirectDraw is a [[2D computer graphics|2D]] API, it contains commands for 2D rendering and although it does not support [[3D computer graphics|3D]] hardware acceleration, versions through to 7.0 of DirectDraw are tightly coupled to their respective version of Direct3D. In order to utilize 3D acceleration in Direct3D 7.0 and below, DirectDraw ''must'' be used in order to create an IDirect3D interface with the help of IDirectDraw7->''QueryInterface'', from which comes an IDirect3DDevice, and from there the remainder of the Direct3D API can be accessed and utilized. DirectDraw provides Textures (through Surfaces), Clippers, Palettes and Pixel Formats to Direct3D as well as the final presentation pass to display rendered images to the screen. 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 |date=13 August 2007 |access-date=23 April 2019}}</ref> With the release 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, and it can be compiled in 64-bit, but they must use older DirectX interfaces (DirectX 7 and below). Drivers from NVIDIA, AMD and Intel provide hardware accelerated support for many of DirectDraw's fundamental features. However, due to changes in Windows Desktop Manager (DWM) in recent Windows versions, features such as Overlays are no longer supported at all. 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 == There has been a deterioration of Windows compatibility with old games that rely upon DirectDraw, 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 [[Color depth|bit depth]] (''[[Dangerous Waters (video game)|Dangerous Waters]]'' for example), others showing a black screen or glitching when switched out. Re-implementation of DirectDraw has been observed to fix these compatibility problems. Commonly used replacements include: * WineD3D from [[Wine (software)|Wine]], which translates into [[OpenGL]].<ref>{{cite web |last1=Dossena |first1=Federico |title=WineD3D For Windows |url=https://fdossena.com/?p=wined3d/index.frag |website=Federico Dossena |access-date=23 April 2019}}</ref> * cnc-ddraw and ts-ddraw from CnCNet, a ''Command & Conquer'' multiplayer network. Translates into [[Graphics Device Interface|GDI]], OpenGL (with [[GLSL]] support), or Direct3D 9.<ref>{{cite web |title=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 |url=https://github.com/CnCNet/cnc-ddraw |website=GitHub|author=CnCNet |access-date=23 April 2019 |date=21 April 2019}}</ref> * DDrawCompat, a wrapper for the vanilla ddraw that corrects problematic calls.<ref>{{cite web |author1=narzoul |title=DDrawCompat: DirectDraw compatibility and performance enhancements for Windows Vista, 7, 8 and 10 |url=https://github.com/narzoul/DDrawCompat |website=GitHub |access-date=23 April 2019 |date=21 April 2019}}</ref> ddwrapper is an earlier, unrelated wrapper that does the same thing.<ref>{{cite web |author1=Aqrit |title=ddwrapper |url=http://bitpatch.com/ddwrapper.html |website=bitpatch.com}}</ref> ==See also== * [[DirectDraw Surface]] * [[Direct2D]] * [[Direct3D]] * [[DirectX]] * [[QuickDraw]] == References == {{reflist}} == External links == * [https://docs.microsoft.com/en-us/windows/desktop/directdraw/directdraw-reference Microsoft API Reference for DirectDraw] * [https://docs.microsoft.com/en-us/windows/desktop/api/_directdraw/ Microsoft API Overview for DirectDraw] {{Microsoft APIs}} {{DEFAULTSORT:Directdraw}} [[Category:DirectX|Draw DirectDraw]] [[Category:Graphics libraries]] [[Category:Microsoft application programming interfaces]] {{windows-stub}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Asbox
(
edit
)
Template:Cite web
(
edit
)
Template:Microsoft APIs
(
edit
)
Template:More citations needed
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Windows-stub
(
edit
)