DirectX11 を使用したゲーム プログラミングを学習するためのチュートリアルに従っています。サンプル コードを実行すると、次のエラーが表示されます。
First-chance exception at 0x76E12EEC in Chapter1.exe: Microsoft C++ exception: Platform::COMException ^ at memory location 0x0307E824. HRESULT:0x887A0004
問題は、次のコードの featureLevel と creationFlag にあるようです。
hr = D3D11CreateDevice(
nullptr,
D3D_DRIVER_TYPE_HARDWARE,
nullptr,
creationFlags,
featureLevels,
ARRAYSIZE(featureLevels),
D3D11_SDK_VERSION,
&device,
&featureLevel,
&context);
ThrowIfFailed(hr);
ただし、creationFlags と featureLevels の値を 0 と nullptr に変更すると、コードは正常に機能します。Windows 8.1 および Windows SDK 8.0 で Visual Studio 2012 を使用しています。
関連するコードは次のとおりです。
UINT creationFlags = D3D11_CREATE_DEVICE_BGRA_SUPPORT;
#if defined(_DEBUG)
// For debugging
creationFlags |= D3D11_CREATE_DEVICE_DEBUG;
#endif
D3D_FEATURE_LEVEL featureLevels[] =
{
D3D_FEATURE_LEVEL_11_1,
D3D_FEATURE_LEVEL_11_0,
};
コードに本当に問題があるという意味ではないという最初のチャンスの例外について読みましたが、ただ消えるわけではありません。私は何をすべきか?