我在使用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
答案 0 :(得分:3)
我发现了问题,我错误地输入了这一行:
swapChainDesc.BufferDesc.Format = DXGI_FORMAT_B8G8R8A8_UNORM;
应该是:
swapChainDesc.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;