まず、dxdiag によると、私は DirectX バージョン 11 を使用しています。ただし、チュートリアル (rastertek.com) を実行していて、directx デバイス (具体的には D3D11CreateDeviceAndSwapChain 関数) を初期化しているときに、エラーが返されます (したがって、プログラムが停止します)。 )。上記のサイトには、D11 と D10 の両方のチュートリアルがあり、前述のとおり、D11 バージョンは動作しませんが、D10 バージョンは動作します。そのため、DX バージョン 11 を使用しているにもかかわらず、プログラムが失敗する理由がわかりません。
プログラムがエラーを返す場所は次のとおりです。
result = D3D11CreateDeviceAndSwapChain(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, 0, &featureLevel, 1,
D3D11_SDK_VERSION, &swapChainDesc, &m_swapChain, &m_device, NULL, &m_deviceContext);
これらすべての変数がhttp://www.rastertek.com/dx11tut03.htmlでどこから来ているかを確認できます。ページの 1/3 より少し下にあります。
私は他のフォーラムでこの関数に関する他の問題を見てきました (そして、彼らがすることは私を助けません)、最初のパラメーターが null でない場合、2 番目のパラメーターを D3D_DRIVER_TYPE_UNKNOWN に設定すると言う msdn と同様に、これはまだありません違いが生じる・異なる。
この問題についての啓発は大歓迎です! ありがとう!!