创建DirectX 10设备和交换链的问题

时间:2011-08-08 23:39:37

标签: c++ directx directx-10 direct3d10

我在使用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

1 个答案:

答案 0 :(得分:3)

我发现了问题,我错误地输入了这一行:

swapChainDesc.BufferDesc.Format = DXGI_FORMAT_B8G8R8A8_UNORM;

应该是:

swapChainDesc.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;