Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Niidae Wiki
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
DirectDraw
Page
Discussion
English
Read
Edit
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
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 does not support [[3D computer graphics|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 [[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, 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 == 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}}
Summary:
Please note that all contributions to Niidae Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Encyclopedia:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:Cite web
(
edit
)
Template:Microsoft APIs
(
edit
)
Template:More citations needed
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Windows-stub
(
edit
)
Search
Search
Editing
DirectDraw
Add topic