#include <d3d12.h>
#include <dxgi1_6.h>
#pragma comment(lib, "d3d12.lib")
ID3D12Device* CreateD3D12Device(){
ID3D12Device* pD3D12Device = nullptr;
// 创建DXGI工厂
IDXGIFactory* pFactory = nullptr;
HRESULT hr = CreateDXGIFactory(IID_PPV_ARGS(&pFactory));
if (FAILED(hr))
{
// 处理创建DXGI工厂失败的情况
return nullptr;
}
// 获取第一个适配器
IDXGIAdapter* pAdapter = nullptr;
hr = pFactory->EnumAdapters(0, &pAdapter);
if (FAILED(hr))
{
// 处理获取适配器失败的情况
pFactory->Release();
return nullptr;
}
// 创建D3D12设备
hr = D3D12CreateDevice(pAdapter, D3D_FEATURE_LEVEL_11_0, IID_PPV_ARGS(&pD3D12Device));
if (FAILED(hr))
{
// 处理创建D3D12设备失败的情况
pAdapter->Release();
pFactory->Release();
return nullptr;
}
// 释放资源
pAdapter->Release();
pFactory->Release();
return pD3D12Device;
}
创建一个ID3D12Device的对象
最新推荐文章于 2023-09-16 15:49:24 发布