| Wrappers for Direct3D 11 (D3D11.h), the shader compiler (D3Dcompiler.h), and the Microsoft DirectX Graphics Infrastructure (DXGI.h). Some convenient macros and functions are provided for use by the engine. |
| DXGI-based code for enumerating the graphics adapters (GPUs) and outputs (monitors attached to the adapters). |
| Class DX11Engine is the top-level interface for graphics display and computing. The Window class creates such an object for use in the sample applications. Classes DX11GraphicsObject is the base class for the hierarchy of Direct3D 11 objects that correspond to the platform-independent hierarchy whose base is class GraphicsObject. |
| Just as class Resource is a wrapper for system memory for a resource object, class DX11Resource wraps the GPU memory management. Mapped memory is implemented in this class, but copies among system memory, staging memory, and GPU memory depend on resource type, so the functions for these are pure virtual. |
| Classes to manage the Direct3D 11 buffer objects that correspond to the classes for platform-independent buffer objects. The two types of class objects are maintained as a map of pairs using the bridge pattern. |
| Classes to manage the Direct3D 11 texture objects that correspond to the classes for platform-independent texture objects. The two types of class objects are maintained as a map of pairs using the bridge pattern. |
| Classes to manage the Direct3D 11 shader objects that correspond to the classes for platform-independent shader objects. The two types of class objects are maintained as a map of pairs using the bridge pattern. |
| Classes to manage the Direct3D 11 state objects that correspond to the classes for platform-independent state objects. The two types of class objects are maintained as a map of pairs using the bridge pattern. |
| Direct3D 11 has an input-layout interface to describe how vertex data is passed to the input-assembler stage of the graphics pipeline. The DX11InputLayout class is the wrapper for this object, and the manager that sets this up for an active VertexBuffer and VertexShader is DX11InputLayoutManager (which is essentially another bridge pattern). |
| The DX11Engine class allows you to enable a query for basic timing of a sequence of calls to the GPU; it uses a 64-bit performance counter. |