Fact-checked by Grok 2 weeks ago

DirectDraw

DirectDraw is a deprecated software component of Microsoft's application programming (API) designed to enable high-performance rendering in Windows applications by providing direct access to display memory and capabilities. Introduced in September 1995 as part of the initial 1.0 release—originally known as the Windows Game SDK—DirectDraw served as the primary for acceleration, replacing earlier technologies like Display Control (DCI) and to support game development and applications on platforms. At its core, DirectDraw operates through key COM-based interfaces, including IDirectDraw7 for creating and managing graphics objects, IDirectDrawSurface7 for handling surface operations such as blitting (bit-block transfer) and page flipping, IDirectDrawClipper for clipping management, and IDirectDrawPalette for color palette control, allowing developers to efficiently manipulate off-screen surfaces, overlays, and gamma corrections without relying on the slower (GDI). Widely adopted in the late for and applications requiring fast rendering, DirectDraw reached its final major iteration in 7.0 (released in 1999), but was progressively deprecated starting with 8.0 in 2000, when its functionality was integrated into the unified DirectX Graphics API, and fully superseded by for retained-mode operations and later by in 11 for modern vector-based graphics. Despite its obsolescence, DirectDraw remains available in Windows for legacy compatibility, often emulated via newer drivers, though it is no longer recommended for new development.

Introduction

Overview

DirectDraw, implemented in the ddraw.dll library, is a Component Object Model (COM)-based application programming interface (API) within the DirectX suite, specifically designed to accelerate 2D graphics rendering for applications and games on Microsoft Windows operating systems..aspx) The API enables efficient handling of graphics operations by supporting both fullscreen and windowed rendering modes, direct access to video memory for faster data manipulation, hardware-accelerated overlays for video playback, blitters for bitmap transfers, and page flipping for smooth animations without tearing..aspx) Introduced with DirectX 1.0 in 1995, DirectDraw formed a key part of Microsoft's early efforts to provide developers with low-level access to graphics hardware, facilitating hardware-accelerated multimedia experiences in software. It integrates with other DirectX components, such as , allowing applications to combine 2D and 3D rendering capabilities seamlessly.

Role in DirectX

DirectDraw formed one of the core foundational components of the suite, alongside DirectSound for audio management and for input device handling, with its primary focus on accelerating graphics rendering in multimedia applications.) This specialization allowed developers to perform high-speed operations directly in video , enabling efficient handling of without the performance bottlenecks inherent in traditional system APIs. A key aspect of DirectDraw's role was its tight integration with through 7.0, where objects were created via DirectDraw interfaces, and leveraged DirectDraw surfaces for essential functions such as and rendering targets. This coupling ensured that 3D acceleration could build upon DirectDraw's 2D surface management, providing a unified pathway for graphics hardware interaction in early versions. In the context of early Windows game development, DirectDraw played a pivotal role by circumventing the limitations of the Windows (GDI), which was ill-suited for real-time, performance-critical 2D tasks like sprite blitting and user interface element rendering.) By granting direct access to display hardware and memory, it facilitated smoother frame rates and reduced latency, making it indispensable for games requiring responsive 2D visuals on consumer hardware of the era.

History

Origins and Introduction

DirectDraw was developed by in 1994 as part of the internal "," led by engineers Alex St. John, Craig Eisler, and Eric Engstrom, to establish Windows as a competitive platform for PC gaming against the dominant ecosystem. This initiative addressed the limitations of the (GDI), Windows' existing software-based rendering system, which imposed high latency and CPU overhead unsuitable for real-time 2D graphics in games, particularly on the forthcoming operating system. By providing direct access to graphics hardware, DirectDraw aimed to enable low-latency operations essential for interactive applications like video games. The API was introduced in September 1995 as a core component of 1.0, released as the Windows 95 Game (SDK) to developers. This timing aligned with the launch of in August 1995, positioning DirectDraw to leverage the new OS's 32-bit architecture for enhanced multimedia support. Although not bundled directly with the base release or the Plus! enhancement pack, the SDK was distributed through Microsoft's developer channels to facilitate rapid adoption by game creators. Key motivations for DirectDraw's creation included enabling for fundamental 2D operations such as blitting (fast bitmap transfers) and color keying (transparent overlays), which were critical for supporting the burgeoning PC market in the mid-1990s. These features allowed developers to bypass GDI's inefficiencies, delivering smoother performance on emerging graphics hardware from vendors like ATI and , and fostering industry-wide support for Windows-based titles. As a foundational element of , DirectDraw set the stage for integrated multimedia APIs that would define PC for decades. Early adopters included titles like the Windows port of , which utilized for improved 2D rendering and shortly after the SDK's availability.

Evolution and Platform Integration

DirectDraw underwent significant evolution through successive versions of the API, progressing from the original IDirectDraw interface introduced in DirectX 1.0 to the enhanced IDirectDraw7 in DirectX 7.0, released on September 22, 1999. This iteration extended prior capabilities by providing more flexible surface management, improved enumeration of display modes, and support for multiple monitor configurations, allowing applications to span surfaces across devices more effectively. These advancements facilitated better handling of complex display setups in 2D applications, building on earlier foundations without altering the core architecture. In 2005, DirectDraw expanded beyond desktop Windows with its integration into Windows Mobile 5.0, marking a pivotal adaptation for mobile platforms. Released to manufacturing in May 2005, this version of the operating system incorporated DirectDraw to replace the deprecated Graphics API (GAPI) component, introducing hardware-accelerated 2D graphics rendering for resource-constrained devices. The shift enabled mobile applications to leverage DirectDraw's surfaces and blitting operations with GPU support, improving performance over GAPI's software-based approach while maintaining for legacy code. By 8.0, released on November 9, 2000, 's role began to transition as it merged into a unified with , emphasizing a consolidated for both and handling. This integration simplified development by streamlining interfaces, reducing redundancy, and promoting a single model for and rendering, which shifted focus toward programmable shaders and broader multimedia support in Windows applications. The change reflected evolving hardware trends, positioning 's functionalities within a more cohesive Graphics framework.

Architecture

Core Components and Interfaces

DirectDraw is built on the (COM) architecture, providing a standardized way to interact with graphics hardware through interface-based objects. The primary interface, IDirectDraw, serves as the entry point for creating and managing DirectDraw objects, with subsequent versions such as IDirectDraw2 through IDirectDraw7 introducing enhancements like improved surface handling and additional capabilities. Applications create a DirectDraw object using the DirectDrawCreate function, which returns an IDirectDraw interface pointer; to access later versions like IDirectDraw7, developers query for the desired interface using COM's QueryInterface method. Key objects in DirectDraw include surfaces, clippers, palettes, and mechanisms for . Surfaces, represented by the (or earlier equivalents), are the fundamental units for rendering and ; they include primary surfaces for , offscreen plain surfaces for temporary , and textured surfaces optimized for . These are created via the IDirectDraw7::CreateSurface method, specifying capabilities through a DDSURFACEDESC2 structure. Clippers, managed by the , handle clipping operations to restrict drawing to specific regions, such as boundaries, and are created using the DirectDrawCreateClipper function. Palettes, via the , control color mapping for 8-bit surfaces and are generated with IDirectDraw7::CreatePalette, allowing dynamic color adjustments. Cooperative levels, set through IDirectDraw7::SetCooperativeLevel, enable multi-application coordination by defining access modes like DDSCL_NORMAL for windowed operation or DDSCL_EXCLUSIVE for full-screen control, ensuring shared resource management without conflicts. The initialization process begins with creating the DirectDraw object, followed by enumerating available display modes using IDirectDraw7::EnumDisplayModes, which calls an application-defined callback to list hardware-supported resolutions and formats compatible with a given surface description. Developers then set the level to establish the application's interaction mode with the , such as windowed or exclusive full-screen, before proceeding to create surfaces and other objects. This sequence ensures proper setup for graphics operations, with depending on driver support for the enumerated modes.

Hardware Interaction and Acceleration

DirectDraw facilitates direct access to video memory through its surface abstraction, allowing applications to create and manipulate surfaces that reside in the graphics card's display memory for optimal performance. This direct manipulation bypasses traditional GDI pathways, enabling efficient data transfers and rendering operations that leverage the hardware's capabilities. Surfaces can be locked to obtain pointers to the underlying memory, permitting developers to write pixel data directly, much like legacy DOS-era video memory access, while ensuring exclusive access during modifications to prevent conflicts with the display driver. This architecture supports hardware-accelerated blitting and overlays via the driver's Hardware Abstraction Layer (), which exposes the graphics hardware's features through capability queries in structures like DDCAPS. Hardware blitters handle efficient block transfers of pixel data between surfaces, while overlays provide low-latency of video content atop the primary display, often with built-in support for stretching and conversions such as to RGB. Major graphics vendors, including , , and , implement HAL drivers that enable these features, allowing DirectDraw applications to utilize specialized processors on the GPU for parallelism with CPU tasks and reduced latency in 2D rendering. However, these hardware interactions face significant limitations in modern Windows environments starting with , where the () introduces that conflicts with DirectDraw overlays. does not account for hardware overlays during its rendering pipeline, resulting in overlays displaying as solid colorkey colors (e.g., green or magenta) instead of intended content, particularly on and ATI () hardware. This incompatibility forces applications to fall back to software emulation via the Hardware Emulation Layer (HEL), which lacks the performance benefits of direct hardware access and can degrade video playback or rendering efficiency. Overlay Mixer components in later implementations mitigate this by disabling when hardware overlays are detected, but DirectDraw-specific support remains broken without custom workarounds.

Features

2D Rendering Capabilities

DirectDraw provides core 2D rendering through its blitting operations, primarily via the Blt and BltFast methods on IDirectDrawSurface interfaces. The Blt function enables versatile bit block transfers between surfaces, supporting stretching and shrinking by specifying differing source and destination rectangles, which allows for scaled rendering of graphics elements like sprites or backgrounds. It also incorporates color keying for transparency effects, using flags such as DDBLT_KEYSRC for source color keys and DDBLT_KEYDEST for destination keys, enabling efficient compositing in games by ignoring specific colors during transfers. Additionally, Blt supports raster operations (ROPs) through the DDBLT_ROP flag, allowing logical operations like AND, OR, and XOR on pixel data, which facilitates advanced manipulations such as masking or inversion without additional CPU processing. The BltFast method offers a optimized variant for high-performance scenarios, performing source copy or transparent bitblts exclusively on display memory surfaces with where available, attempting asynchronous execution to minimize . It supports basic color keying via flags like DDBLTFAST_SRCCOLORKEY and DDBLTFAST_DESTCOLORKEY but omits stretching, clipping, and ROPs to prioritize speed, making it suitable for rapid updates in applications such as tile-based scrolling or particle effects. Both methods leverage for these operations when the graphics driver reports support via capabilities queries, falling back to software otherwise, which ensures consistent behavior across diverse hardware. DirectDraw supports a range of formats for surfaces, including RGB formats like 16-bit 5-6-5 and 32-bit ARGB, as well as paletted 8-bit modes that use color tables for efficient usage in low-color environments. Texture surfaces created through DirectDraw can integrate directly with by attaching them as render targets or textures, allowing 2D content to serve as base layers for pipelines. While formats may include alpha channels (e.g., up to 8-bit alpha in ARGB), DirectDraw's blitting operations do not perform alpha blending; transparency relies on color keying instead. Hardware acceleration extends to format conversion during blits, including transformations like YUV to RGB, which aids in video playback by decompressing and converting frames efficiently for overlay or rendering in applications.

Display Management and Modes

DirectDraw handles display configuration and output presentation primarily through its cooperative level and mode-setting mechanisms, enabling applications to control screen resolutions, color depths, and rendering contexts for optimal performance in both windowed and environments. The SetCooperativeLevel method establishes the application's interaction with the display system, with flags such as DDSCL_EXCLUSIVE granting access by making the application the sole owner of the primary surface and allowing changes without interference from other processes. This exclusive is essential for high-performance scenarios, as it prevents context switches that could degrade animation smoothness. Once exclusive access is set, the SetDisplayMode method configures the hardware display parameters, specifying width, height, bits per pixel (BPP), and . Supported bit depths range from 8-bit paletted modes for legacy compatibility to 32-bit for high-fidelity rendering, with common s including 640x480 up to 1920x1080 or higher depending on hardware capabilities. For instance, an application might set a 1024x768 at 16 BPP to balance performance and visual quality in exclusive mode, where the entire display is dedicated to the application's surface. If the requested mode is incompatible with the hardware, the method returns an error, prompting fallback to enumerated supported modes via GetDisplayMode or EnumDisplayModes. The primary surface serves as the direct interface to the display framebuffer, created using the DDSCAPS_PRIMARY capability flag on an IDirectDrawSurface object, allowing immediate pixel writes to the screen without intermediate copies. In exclusive mode, the application assumes full responsibility for this surface, bypassing GDI for faster updates. To achieve tear-free presentation, DirectDraw supports page flipping via back buffers attached to the primary surface using the DDSCAPS_BACKBUFFER flag during creation. The Flip method then atomically swaps the primary surface with the back buffer, updating the display pointer in a single operation that minimizes visual artifacts during animation. This technique, often hardware-accelerated on compatible adapters, enables smooth frame rates by rendering to an off-screen buffer before presentation. Later iterations, such as IDirectDraw7 in 7, enhanced multi-monitor capabilities by supporting the creation of separate DirectDraw objects for individual display adapters, enumerated via Windows like EnumDisplayDevices to target specific monitors. This allows applications to manage output across extended desktops, handling spanning multiple physical displays for scenarios like spanning content or independent rendering per monitor.

Deprecation and Legacy

Reasons for Deprecation

With the release of 8.0 in November 2000, 's 2D functionality was consolidated into to streamline the overall and eliminate redundancy between separate 2D and 3D graphics interfaces. This merger created a unified graphics package, simplifying application development and enhancing performance by allowing developers to use a single set of interfaces for both 2D and 3D rendering tasks. A key technical factor in this shift was the introduction of programmable shaders in 8, including vertex and pixel shaders, which enabled more advanced and flexible graphics processing on modern hardware. These features, further refined in 9, supported a unified that rendered 2D elements efficiently through 3D primitives, rendering dedicated 2D APIs like DirectDraw obsolete for contemporary applications that required high-fidelity visuals and . By 9.0 in 2002, all two-dimensional functionality had been fully integrated into , marking the effective end of DirectDraw as a standalone component for new development. DirectDraw's formal removal from the DirectX SDK occurred in June 2010, driven by its low usage among developers and the API's long-standing status since 2002, with no new samples or documentation provided after the DirectX 8.1 SDK. The headers (ddraw.h) and library (ddraw.lib) were excluded from this SDK release, as they were already available through the Windows SDK for purposes, reducing overhead for obsolete components. However, to support ongoing compatibility needs, these headers had been available in the Windows SDK since 2008.

Compatibility and Modern Support

DirectDraw maintains backward compatibility on Windows 10 and Windows 11 through the legacy ddraw.dll component, which is included as part of DirectX 9 runtime support. As of 2025, DirectDraw continues to be supported on Windows 11 through the legacy DirectX 9 runtime, though users frequently encounter issues resolvable via compatibility settings or community tools like dxwrapper. However, no new development has occurred since the release of DirectX 9.0 in 2002, and Microsoft issues warnings against its use in contemporary applications due to potential instability and lack of optimization for modern hardware. Several compatibility challenges arise when running DirectDraw-based applications on and later versions. For instance, 256-color (8-bit) rendering often results in distorted palettes or incorrect color displays, particularly in fullscreen modes, as the (DWM) interferes with legacy palette management. Overlay surfaces, intended for hardware-accelerated video or sprite rendering, frequently fail under DWM composition introduced in , leading to blank or corrupted output since overlays are not properly redirected through the compositor. Additionally, attempts to switch to exclusive fullscreen modes conflict with in or the Modern UI in and beyond, causing performance degradation, input lag, or failure to engage due to DWM's mandatory window composition. Since the deprecation of DirectDraw beginning with 8.0, has recommended that developers migrate to for 2D graphics or for integrated 2D/3D rendering in new applications, a guidance reinforced with the 9.0 release in 2002. This migration addresses the limitations of DirectDraw in composed desktop environments and ensures better performance on current Windows versions.

Successors and Reimplementations

Official Replacements

Microsoft's official replacements for DirectDraw emerged as part of the evolution of the API, with the primary shift occurring through the integration of 2D graphics capabilities directly into starting with version 8.0 in 2000. This consolidation unified 2D and 3D rendering under a single graphics framework, simplifying development and leveraging more efficiently. In Direct3D 8 and later versions, including Direct3D 9.0, all two-dimensional functionality previously handled by DirectDraw was incorporated using vertex and index buffers, along with shaders, to render 2D elements as part of the 3D pipeline. This approach eliminated the need for separate DirectDraw surfaces, allowing developers to treat 2D graphics as textured polygons within the Direct3D environment, thereby streamlining and improving performance on modern hardware. Direct2D, introduced in 2008 alongside , serves as a dedicated modern 2D graphics API that builds upon for while providing high-performance rendering of , bitmaps, and text. Layered on top of , offers an immediate-mode interface that supports subpixel , opacity masks, and seamless integration with DirectWrite for typography, making it suitable for applications requiring rich 2D visuals without the complexity of full 3D setup. For migrating legacy DirectDraw applications, recommends rendering 2D content as textured quads in 9 or higher for performance-critical scenarios, or adopting for user interface-heavy applications to leverage its vector-based capabilities and easier integration with Windows UI elements. This guidance facilitates a smooth transition by mapping DirectDraw's blitting and surface operations to 's texture rendering or 's drawing contexts.

Community-Driven Alternatives

Community-driven alternatives to DirectDraw have emerged as open-source projects aimed at preserving applications and on modern operating systems, particularly where native support has waned. These tools typically function as wrappers or translation layers that intercept DirectDraw calls, addressing issues like deprecated and compatibility glitches without requiring modifications. One prominent example is WineD3D, an integral component of the Wine compatibility layer that translates DirectDraw and calls into instructions. Developed as part of the open-source Wine project, WineD3D enables the execution of DirectDraw-based Windows applications on non-Windows platforms such as , macOS, and by leveraging cross-platform support for rendering. This approach maintains hardware compatibility while sacrificing some visual fidelity in favor of broader accessibility, making it essential for emulating older 2D games and software in cross-platform environments. Another widely adopted tool is cnc-ddraw, a specialized re-implementation of the using GDI, , or 9 backends. Primarily designed for classic 2D games like those in the series, it resolves common compatibility problems on modern Windows versions and Wine, including black screens, performance degradation, crashes, and faulty switching. By automatically selecting the optimal renderer and supporting features like windowed modes, upscaling via GLSL shaders, VSync, and FPS limiting, cnc-ddraw enhances playability without altering game files beyond placement in the . Its open-source nature has led to broad adoption for similar DirectDraw-reliant titles, fixing inconsistencies and enabling smooth operation in virtual machines or non-native resolutions. DDrawCompat serves as a hook-based specifically targeting and later, restoring critical DirectDraw functionalities such as overlay surfaces and exclusive fullscreen modes that are impaired on contemporary systems. This DLL wrapper intercepts calls at , improving performance and visual quality for games using 1-7 by utilizing native system libraries rather than full translation. It supports configuration through text files for custom enhancements like resolution scaling and , requiring only SSE2-capable CPUs and Model 3 GPUs with WDDM drivers. DDrawCompat's design ensures seamless integration for legacy software, mitigating ongoing limitations in Windows DirectDraw support without the need for administrative privileges or extensive setup. dgVoodoo2 is another popular open-source wrapper that emulates legacy DirectX APIs, including DirectDraw, by translating calls to Direct3D 11 or 12 (as of version 2.7 in 2018, with ongoing updates). Targeted at Windows 7 and later, it provides hardware-accelerated rendering for old 2D and 3D games, supporting features like higher resolutions, anti-aliasing, and filtering while fixing compatibility issues such as crashes and visual artifacts on modern GPUs. Widely used in the retro gaming community, dgVoodoo2 requires copying wrapper DLLs (e.g., DDraw.dll) to the game directory and configuring via an INI file for optimal performance.

References

  1. [1]
    DirectDraw - Win32 apps - Microsoft Learn
    Aug 23, 2019 · This section contains information about programming with the DirectDraw component of the DirectX application programming interface (API).
  2. [2]
    DirectDraw - Win32 apps | Microsoft Learn
    Jan 23, 2023 · Overview of the DirectDraw technology. To develop DirectDraw, you need these headers. For programming guidance for this technology, see:
  3. [3]
    DirectX - BetaWiki
    Jul 24, 2025 · Microsoft DirectX is a collection of COM-based APIs for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms.<|control11|><|separator|>
  4. [4]
    Glossary:DirectX - PCGamingWiki PCGW
    Jun 22, 2025 · Release date, Notes. 1.0, September, 1995, Originally named Windows Game SDK. 2.0, 1996, Shipped only with select third-party applications. 2.0a ...
  5. [5]
    Whither DirectDraw? - Games for Windows and the DirectX SDK blog
    Jun 16, 2010 · The DirectDraw API has been more or less deprecated for game developers since the release of DirectX 9.0 SDK back in 2002.
  6. [6]
  7. [7]
    DirectDraw Programming Tutorial - GameDev.net
    DirectDraw is a video memory manager that allows direct access to video memory, enabling fast blitting of bitmaps using the video hardware's blitter.
  8. [8]
    Graphics APIs in Windows - Win32 apps - Microsoft Learn
    Jul 8, 2024 · DirectDraw and Direct3D were introduced as alternative APIs to support full-screen games and 3D rendering as extensions to the existing hardware ...
  9. [9]
    DirectDrawCreateEx function (ddraw.h) - Win32 apps - Microsoft Learn
    Oct 12, 2021 · DirectDrawCreateEx creates a DirectDraw object supporting Direct3D interfaces in DirectX 7.0, and attempts to initialize it, setting a pointer ...
  10. [10]
    DDS - Win32 apps - Microsoft Learn
    Aug 19, 2020 · DDS is a DirectDraw Surface file format for storing uncompressed and compressed textures, introduced with DirectX 7. It supports mipmaps, cube ...<|separator|>
  11. [11]
    How DirectX defined PC gaming... with help from a shotgun-toting ...
    Jul 27, 2020 · DOOM95 released on August 20, 1996, making it the first DirectX game ever published. (Image credit: Nvidia). Legacy & DirectX 12. The ...<|control11|><|separator|>
  12. [12]
    Download DirectX Software Development Kit from Official Microsoft ...
    Jul 15, 2024 · Beginning with the June 2010 release, the DirectX SDK supports Visual Studio 2010. The June 2010 release continues to support Visual Studio 2008 ...
  13. [13]
    Unparalleled Industry Support for Gaming on Windows 95 Makes It ...
    May 16, 1996 · Microsoft's commitment to gaming began with the original Windows 95 DirectX Software Development ... MS-DOS, DirectDraw, DirectSound ...
  14. [14]
    MicroSoft DirectX Downloads for Windows (Win95, Win98, Win98SE ...
    Jul 31, 2015 · MicroSoft Windows DirectX Releases ; 05 Feb 1996. DirectX 1.0 ; 02 Jun 1996. DirectX 2.0 ; 26 Sep 1996. DirectX 3.0 ; 14 Jul 1997. DirectX 5.0 ; 04 ...<|control11|><|separator|>
  15. [15]
    List of DirectDraw games - PCGamingWiki PCGW
    May 30, 2023 · This page lists games which renders using DirectDraw, the now obsolete 2D rendering API of the corresponding DirectX suite of the same ...
  16. [16]
    Microsoft Ships Final Release of DirectX 7.0 - Source
    Microsoft Corp. today announced availability of the much anticipated Microsoft® DirectX® 7.0 application programming interface (API).
  17. [17]
    IDirectDraw7 interface (ddraw.h) - Win32 apps - Microsoft Learn
    Feb 15, 2023 · The IDirectDraw7 interface extends the features of previous versions of the interface by offering methods that enable more flexible surface ...
  18. [18]
    Windows Mobile 5.0 - Microsoft Lifecycle
    Start Date, Mainstream End Date, Extended End Date. Windows Mobile 5.0, Jul 31, 2005, Oct 12, 2010, Oct 13, 2015. Editions. for Pocket PC; for Smartphones.Missing: DirectDraw | Show results with:DirectDraw
  19. [19]
    Just say no to GAPI – What You Need to Know About AllKeys and ...
    Jul 14, 2009 · The graphics component of GAPI was replaced by DirectDraw (which allowed hardware acceleration) in Windows Mobile 5.0. Application ...
  20. [20]
    Microsoft Announces Release of DirectX 8.0 - Source
    Nov 9, 2000 · Consolidated interfaces for DirectDraw® and Direct3D® simplify application development and improve performance. · Improved graphics authoring ...Missing: merger unified
  21. [21]
    DirectDrawCreate function (ddraw.h) - Win32 apps - Microsoft Learn
    Feb 22, 2024 · To create a DirectDraw object that is capable of exposing all of the features of Direct3D in DirectX 7.0, use the DirectDrawCreateEx function.
  22. [22]
    IDirectDrawSurface7 (ddraw.h) - Win32 apps - Microsoft Learn
    Feb 15, 2023 · Applications use the methods of the IDirectDrawSurface7 interface to create DirectDrawSurface objects and work with system-level variables.Missing: architecture | Show results with:architecture
  23. [23]
    IDirectDraw7::CreateSurface (ddraw.h) - Win32 apps | Microsoft Learn
    Feb 22, 2024 · In this article. Syntax; Parameters; Return value; Requirements; See also. Creates a DirectDrawSurface object for this DirectDraw object. Syntax.Missing: architecture | Show results with:architecture
  24. [24]
    IDirectDrawClipper interface (ddraw.h) - Win32 apps - Microsoft Learn
    Feb 22, 2024 · Applications use the methods of the IDirectDrawClipper interface to manage clip lists. This section is a reference to the methods of this ...
  25. [25]
    IDirectDraw7::CreatePalette (ddraw.h) - Win32 apps | Microsoft Learn
    Oct 31, 2022 · Creates a DirectDrawPalette object for this DirectDraw object. ... Address of a variable to be set to a valid IDirectDrawPalette interface pointer ...
  26. [26]
    IDirectDraw7::SetCooperativeLevel (ddraw.h) - Win32 apps
    Oct 31, 2022 · This method must be called by the same thread that created the application window. An application must set either the DDSCL_EXCLUSIVE or the DDSCL_NORMAL flag.Missing: architecture | Show results with:architecture
  27. [27]
    IDirectDraw7::EnumDisplayModes (ddraw.h) - Win32 - Microsoft Learn
    Oct 31, 2022 · Enumerates all the display modes that the hardware exposes through the DirectDraw object and that are compatible with a provided surface ...
  28. [28]
    Microsoft.DirectX.DirectDraw
    Nov 5, 2009 · Warning: Microsoft DirectDraw has been deprecated. Deprecated components of Microsoft DirectX 9.0 for Managed Code are considered obsolete.Missing: date | Show results with:date
  29. [29]
    An introduction to DirectDraw and Direct3d
    Whereas the GDI has to go through windows to draw, Directdraw talks directly to the video memory. Besides faster video access DirectDraw also provides automatic ...
  30. [30]
    Working around display brain damage in Windows Vista - VirtualDub
    Apr 3, 2007 · The first problem, which I've mentioned before, has to do with DirectDraw hardware video overlays -- these are essentially secondary displays ...
  31. [31]
    Overlay Mixer Filter - Win32 apps | Microsoft Learn
    Apr 26, 2023 · On Windows Vista or later, the Overlay Mixer disables Desktop Window Manager (DWM) composition if the display driver supports hardware overlay.
  32. [32]
    IDirectDrawSurface7::Blt method (ddraw.h) - Win32 - Microsoft Learn
    Oct 31, 2022 · Performs a bit block transfer (bitblt). This method does not support z-buffering or alpha blending during bitblt operations.Missing: function | Show results with:function
  33. [33]
    IDirectDrawSurface7::BltFast (ddraw.h) - Win32 apps | Microsoft Learn
    Feb 22, 2024 · Documentation. All ... A pointer to the IDirectDrawSurface7 interface for the DirectDrawSurface object that is the source of the bitblt.Missing: architecture IDirectDraw
  34. [34]
    DDPIXELFORMAT (ddraw.h) - Win32 apps - Microsoft Learn
    Nov 22, 2021 · The DDPIXELFORMAT structure describes the pixel format of a DirectDrawSurface object for the IDirectDrawSurface7::GetPixelFormat method.
  35. [35]
    Palettes and Pixels in DirectDraw - GameDev.net
    Palettes created with this flag can only be attached to a Direct3D texture surface, since DirectDraw itself doesn't support alpha-blending. DDPCAPS_ALLOW256 ...
  36. [36]
    Rendering to Texture Surfaces Using DirectX 7 - Game Developer
    The first way is by creating a DirectDraw surface that is flagged as being both a render target surface and a texture surface. The second way is by attempting ...
  37. [37]
    IDirectDraw7::SetDisplayMode method (ddraw.h) - Microsoft Learn
    Oct 31, 2022 · If you are setting another resolution, bit depth, or a Mode X mode, do not use this flag; instead, set the parameter to 0. Return value. If ...
  38. [38]
    IDirectDrawSurface::Flip - Microsoft Learn
    Dec 10, 2007 · IDirectDrawSurface::Flip. The Flip method makes the surface memory associated with the DDSCAPS_BACKBUFFER surface become associated with the ...
  39. [39]
    DirectX Graphics Development with Visual Studio 2012
    Sep 25, 2012 · You also don't need a separate DirectX SDK download – the DirectX SDK is now part of the Windows SDK, and the Windows 8 SDK is included in ...
  40. [40]
    This Program Requires DirectX7a! - DDraw error: 0x80004001
    Dec 15, 2016 · Windows 10 will not install DirectX7. When I download and try to install it says it is incompatible with Windows 10. I've tried running the game ...
  41. [41]
    Has DirectDraw support ceased in Windows 10? - Microsoft Q&A
    Jul 25, 2021 · DirectDraw is no longer recommended for use. With the release of Direct3D 9.0, all two-dimensional functionality is contained within Direct3D.
  42. [42]
  43. [43]
    Hardware Overlay Support - Win32 apps | Microsoft Learn
    Jan 7, 2021 · Starting in Windows 7, Direct3D 9 supports hardware overlays. This support is intended primarily for video playback, and differs in some respects from earlier ...
  44. [44]
    List of New Features Included in Microsoft DirectX 8.0 - GitHub Pages
    New DirectX Graphics features include: - Migration of Microsoft DirectDraw into Microsoft Direct3D ... DirectInput devices in DirectX 8.0 support a new ...<|separator|>
  45. [45]
    Windows 7: Introducing Direct2D and DirectWrite - Microsoft Learn
    Oct 29, 2008 · Learn how you can enhance your application experience with resolution independent, high-performance vector graphics using Direct2D. Use ...
  46. [46]
    Windows With C++ - Introducing Direct2D - Microsoft Learn
    Direct2D is a brand new 2D graphics API designed to support the most demanding and visually rich desktop applications with the best possible performance.
  47. [47]
    Direct2D - Win32 apps - Microsoft Learn
    May 25, 2022 · Direct2D is a hardware-accelerated, immediate-mode, 2-D graphics API for high-performance rendering of 2-D geometry, bitmaps, and text.
  48. [48]
    narzoul/DDrawCompat - GitHub
    DDrawCompat is a DLL wrapper aimed at fixing compatibility and performance issues with the DirectX 1-7 graphics APIs. Partially supports GDI as well.Releases · Issues · Wiki
  49. [49]
    FunkyFr3sh/cnc-ddraw - GitHub
    cnc-ddraw can fix compatibility issues in older 2D games, such as black screen, bad performance, crashes or defective Alt+Tab.
  50. [50]