DXGI Namespace

The DirectX Graphics Infrastructure (DXGI) provides a set of interfaces that enable applications to interact with graphics hardware, manage adapters, enumerate display outputs, and control presentation. It acts as a foundational layer for higher-level DirectX APIs like Direct3D.

Key Concepts

DXGI is fundamental to graphics development on Windows, providing:

Core Components

Enumerations

Constants used to configure and control DXGI functionality, such as adapter types, format descriptions, and presentation flags.

Enums

Structures

Data structures used to pass information to and from DXGI functions and interfaces, including descriptions of adapters, outputs, and swap chain buffers.

Structs

Interfaces

The primary objects and contracts within DXGI that define the functionality for managing graphics hardware and presentation.

Interfaces

Functions

Utility functions that provide access to DXGI capabilities, such as creating a factory object or retrieving adapter information.

Functions

Enumerations

These enumerations define various states, options, and identifiers used throughout the DXGI API.

DXGI_FORMAT

Specifies the format of pixel data. Includes common formats like RGBA, RGB, Depth-Stencil, etc.

Enum

DXGI_USAGE

Flags that specify how a surface is to be used. For example, rendering target, shader resource, etc.

Enum

DXGI_ADAPTER_FLAG

Flags that describe a DXGI adapter.

Enum

DXGI_PRESENT_FLAG

Flags that control how IDXGISwapChain::Present behaves.

Enum

Structures

These structures are used to convey detailed information about graphics hardware and swap chains.

DXGI_OUTPUT_DESC

Describes an output (monitor).

Struct

DXGI_SWAP_CHAIN_DESC

Describes a swap chain.

Struct

DXGI_ADAPTER_DESC

Describes a DXGI adapter.

Struct

DXGI_MODE_DESC

Describes a display mode.

Struct

Interfaces

The core programmatic interfaces that applications interact with to utilize DXGI features.

IDXGIObject

The base interface for all DXGI objects, providing basic functionality like setting and retrieving private data.

Interface

IDXGIResource

Represents a graphics resource, providing methods to manage its name and handle.

Interface

IDXGIAdapter

Represents a graphics adapter (GPU), providing access to its description and outputs.

Interface

IDXGIOutput

Represents a display output (monitor), providing access to its description and supported modes.

Interface

IDXGIFactory

The factory interface for creating DXGI objects, enumerating adapters, and managing swap chains.

Interface

IDXGISwapChain

Manages a swap chain, which is used for presenting rendered frames to the screen.

Interface

Functions

Key functions for initiating DXGI operations.

CreateDXGIFactory

Creates an IDXGIFactory object, which is the starting point for DXGI enumeration.

Function