3

我在使用 D3D10CreateDeviceAndSwapChain 创建有效的 DirectX 10 设备和交换链时遇到了一些问题。我认为可能是我的窗口创建出了问题,因为它说提供的 SwapChainDesc 中的 OutputWindow 未使用=??? (或随机的 int 值)

这个问题一直困扰着我,因为我似乎无法找出项目代码有什么问题

我知道它在 CDirect3D.cpp 的第 193 行失败

result = D3D10CreateDeviceAndSwapChain(NULL, D3D10_DRIVER_TYPE_HARDWARE, NULL, 0, D3D10_SDK_VERSION, &swapChainDesc, &this->m_swapChain, &this->m_device);

如果有人可以看一下代码,我将不胜感激。我已经在http://dl.dropbox.com/u/3605545/files/LearningEngine.zip上传了项目及其来源

(不是一个庞大的代码库,到目前为止只有 4 个类)

该项目在 VS2010 中,我从 2010 年 6 月开始使用 DirectX SDK

4

1 回答 1

3

我发现了问题,我打错了这一行:

swapChainDesc.BufferDesc.Format = DXGI_FORMAT_B8G8R8A8_UNORM;

本来应该:

swapChainDesc.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
于 2011-08-09T12:45:57.477 回答