首先,根据 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 以上。
我在其他论坛中看到了这个函数的其他问题(他们所做的对我没有帮助),以及 msdn 说如果第一个参数是非空的,将第二个参数设置为 D3D_DRIVER_TYPE_UNKNOWN,仍然没有做出改变。
非常感谢您对这个问题的任何启示!谢谢!!