Graphics and Multimedia API Reference
This section covers the Windows APIs for graphics rendering, audio/video playback and manipulation, and other multimedia functionalities.
DirectX Graphics Infrastructure (DXGI)
DXGI provides the core infrastructure for graphics hardware integration and management on Windows.
Key Features: Hardware enumeration, display management, swap chain creation for presenting rendered frames.
IDXGIFactory, IDXGIAdapter, IDXGISwapChain
Direct3D 11
Direct3D 11 is a powerful graphics API for rendering 2D and 3D graphics in real-time.
Key Features: Programmable shaders, improved performance, tessellation support, compute shaders.
// Example: Creating a Direct3D 11 Device
HRESULT hr = D3D11CreateDevice(
NULL, // Default adapter
D3D_DRIVER_TYPE_HARDWARE, // Hardware driver
NULL, // No software rasterizer
0, // Device flags
featureLevels, // Feature levels
numFeatureLevels, // Number of feature levels
D3D11_SDK_VERSION, // SDK version
&pDevice, // Output device
&featureLevel, // Output feature level
&pImmediateContext // Output immediate context
);
Direct2D
Direct2D provides hardware-accelerated 2D graphics rendering with high performance and fidelity.
Key Features: Vector graphics, text, bitmaps, gradients, anti-aliasing.
Media Foundation
Media Foundation is the successor to DirectShow and provides a comprehensive framework for multimedia playback and processing.
- Overview
- Media Sources (Files, Streams)
- Media Sinks (Playback, Recording)
- Media Transforms (Decoders, Encoders, Effects)
- Media Pipeline (Topology)
Key Features: Hardware acceleration, support for modern media formats, extensible architecture.
IMFSourceReader, IMFSinkWriter, IMFTransform
Windows Audio Session API (WASAPI)
WASAPI provides low-latency, high-fidelity audio streaming for professional audio applications.
Key Features: Exclusive mode, event-driven audio processing, detailed control over audio streams.
Legacy APIs (DirectShow, GDI)
Information on older graphics and multimedia APIs that may still be relevant or are part of historical context.