Computer graphics in Game development
Ivan Belyavtsev
21.10.2022
Validation layer is a way to check a correctness of API usage.
To engage API validation:
D3D12GetDebugInterface
function to get debug
controllerEnableDebugLayer
method of the debug
controllerDXGI_CREATE_FACTORY_DEBUG
flag in further DXGI
factory creation [1]Visual studio: Output window, Show output from Debug
CLion: Debugger, LLDB window
CreateDXGIFactory*
function to create a DXGI
factory (don’t forget about flags)EnumAdapters*
method to find HWEnumAdapters
for adapter #0 gives us a pointer to the
primary display adapter [1]Device is a represenation of GPU in DirectX API
To create a device:
D3D12CreateDevice
function to create a DX12
deviceCommand queue accumulates command lists to execute on GPU. GPU is able to maintain several commands queue for different purposes. Direct queue is the most powerful type of queues.
CreateCommandQueue
method of DX12 device to create
a direct queue [1]CreateSwapChainForHwnd
method of the DXGI factory
with Direct queue, window handler and swap chain
descriptorMakeWindowAssociation
method of the DXGI factory
with window handler and DXGI_MWA_NO_ALT_ENTER
load_pipeline
method