如何让DirectX 11调试层工作

时间:2015-01-25 21:20:16

标签: c++ debugging visual-studio-2012 directx-11

我正在努力让DirectX 11调试层正常工作。到目前为止,我已经启用了设备上的调试,这是我能得到的。我没有得到任何类型的调试输出。我能找到的所有指南基本上只是一堆代码而没有对正在发生的事情进行任何真正的解释,因此当它应用于我的特定问题时,它会立即崩溃,我无处可去。我实际上并没有学习如何使用调试层,我也没有学习如何最好地利用这些技术满足我的需求等。

基本上,任何人都可以逐步向我提供如何使调试输出正常工作的信息吗?

这是我到目前为止所得到的:

DXGI_SWAP_CHAIN_DESC swapChainDesc;

ZeroMemory(&swapChainDesc, sizeof(DXGI_SWAP_CHAIN_DESC));

swapChainDesc.BufferCount = 1;
swapChainDesc.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
swapChainDesc.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
swapChainDesc.OutputWindow = hWnd;
swapChainDesc.SampleDesc.Count = 4;
swapChainDesc.Windowed = true;

D3D_FEATURE_LEVEL featureLevels [] = { D3D_FEATURE_LEVEL_11_0, D3D_FEATURE_LEVEL_10_1, D3D_FEATURE_LEVEL_10_0 };

UINT creationFlags = 0;

#ifdef _DEBUG
creationFlags |= D3D11_CREATE_DEVICE_DEBUG;
#endif

D3D_FEATURE_LEVEL capabilities;
D3D11CreateDeviceAndSwapChain(  NULL,
                                D3D_DRIVER_TYPE_HARDWARE,
                                NULL,
                                creationFlags,
                                featureLevels, //D3D_FEATURE_LEVEL *
                                ARRAYSIZE(featureLevels), //number of feature levels
                                D3D11_SDK_VERSION,
                                &swapChainDesc,
                                &m_swapChain,
                                &m_device,
                                &capabilities,
                                &m_devCon);

谢谢!

0 个答案:

没有答案