c – 无法创建DirectX设备和交换链
发布时间:2020-12-16 06:54:16 所属栏目:百科 来源:网络整理
导读:我在从directx检索交换链和设备时遇到问题.进一步的信息在代码中 void GXDX::StartUp(HWND* mainWindow,int w,int h){ //width and height are members of GXDX width = w; //contains the width height = h; //contains the height this-mainWindow = mainW
我在从directx检索交换链和设备时遇到问题.进一步的信息在代码中
void GXDX::StartUp(HWND* mainWindow,int w,int h) { //width and height are members of GXDX width = w; //contains the width height = h; //contains the height this->mainWindow = mainWindow; // Is a handle to the main window. it is usually something //like : unusual -735313406 ID3D10Texture2D *backBufferSurface; DXGI_SWAP_CHAIN_DESC swapChainDesc; swapChainDesc.BufferCount = 2; swapChainDesc.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM; swapChainDesc.BufferDesc.RefreshRate.Numerator = 60; swapChainDesc.BufferDesc.RefreshRate.Denominator = 1; swapChainDesc.BufferDesc.Width = width; swapChainDesc.BufferDesc.Height = height; swapChainDesc.SampleDesc.Count = 1; swapChainDesc.SampleDesc.Quality = 0; swapChainDesc.OutputWindow = *mainWindow; swapChainDesc.Windowed = TRUE; D3D10_DRIVER_TYPE driverType = D3D10_DRIVER_TYPE_HARDWARE; HRESULT hr = D3D10CreateDeviceAndSwapChain(NULL,driverType,NULL,D3D10_SDK_VERSION,&swapChainDesc,&swapChain,&dxDevice); if(FAILED(hr))//Error is here throw GXVideoException(L"Problems retrieving directX device"); } 以下是方法完成后给出的所有值 - &dxDevice 0x00e74b04 ID3D10Device * * - 0x00000000 ID3D10Device * - IUnknown {...} IUnknown __vfptr CXX0030: Error: expression cannot be evaluated - &swapChain 0x00e74b08 IDXGISwapChain * * - 0x00000000 IDXGISwapChain * - IDXGIDeviceSubObject {...} IDXGIDeviceSubObject - IDXGIObject {...} IDXGIObject - IUnknown {...} IUnknown __vfptr CXX0030: Error: expression cannot be evaluated - &swapChainDesc 0x002df90c {BufferDesc={...} SampleDesc={...} BufferUsage=0xcccccccc ...} DXGI_SWAP_CHAIN_DESC * - BufferDesc {Width=0x00000320 Height=0x00000258 RefreshRate={...} ...} DXGI_MODE_DESC Width 800 unsigned int Height 600 unsigned int - RefreshRate {Numerator=60 Denominator=1 } DXGI_RATIONAL Numerator 60 unsigned int Denominator 1 unsigned int Format DXGI_FORMAT_R8G8B8A8_UNORM DXGI_FORMAT ScanlineOrdering -858993460 DXGI_MODE_SCANLINE_ORDER Scaling -858993460 DXGI_MODE_SCALING - SampleDesc {Count=0x00000001 Quality=0x00000000 } DXGI_SAMPLE_DESC Count 1 unsigned int Quality 0 unsigned int BufferUsage 3435973836 unsigned int BufferCount 2 unsigned int - OutputWindow 0x008b08ca {unused=-665779669 } HWND__ * unused -665779669 int Windowed 1 int SwapEffect -858993460 DXGI_SWAP_EFFECT Flags 3435973836 unsigned int driverType D3D10_DRIVER_TYPE_HARDWARE D3D10_DRIVER_TYPE hr 0x887a0001 HRESULT - this 0x00e74af0 {dxDevice=0x00000000 swapChain=0x00000000 } GXDX * const - GXRenderer {running=true width=0x00000320 height=0x00000258 ...} GXRenderer - __vfptr 0x013277dc const GXDX::`vftable' * [0] 0x0132110e GXDX::Render(void) * [0x1] 0x013211d6 GXDX::StartUp(struct HWND__ * *,int,int) * [0x2] 0x01321041 GXDX::SetupScene(void) * [0x3] 0x01321069 GXDX::DisplayScene(void) * running true bool width 0x00000320 int height 0x00000258 int - mainWindow 0x0132a214 struct HWND__ * GXRenderManager::mainWindow {unused=0x008b08ca } HWND__ * unused 0x008b08ca int - dxDevice 0x00000000 ID3D10Device * + IUnknown {...} IUnknown - swapChain 0x00000000 IDXGISwapChain * - IDXGIDeviceSubObject {...} IDXGIDeviceSubObject - IDXGIObject {...} IDXGIObject - IUnknown {...} IUnknown __vfptr CXX0030: Error: expression cannot be evaluated [编辑] 在Goz响应之前,我检查了进一步的调试细节,这是收到的 DXGI Error: IDXGIFactory::CreateSwapChain: SwapEffect is unknown. 我猜我没有添加swapeffect属性.我会这样做并检查出来 解决方法
傻我.之前我在评论中提到我正在阅读的两本书都没有包含交换链效应属性.无论我是否包含交换链,我都知道有些事情已经消失.
但我也注意到这两本书都将交换链描述归零.省去财产更安全.所以我添加了以下内容 SecureZeroMemory(&swapChainDesc,sizeof(swapChainDesc)); 一切正常.抛开这个,我仍然应该添加一个swapchain效果属性.但由于理由,这本书决定不这样做,我还没想到. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- [Swift通天遁地]七、数据与安全-(7)创建文件浏览器:以可视
- React Native Android 代码中设置访问js 的地址
- 解决vue router组件状态刷新消失的问题
- 实际项目中表设计规范总结
- react-native-vector-icons在tab中的使用代码示例
- cocos2dx-lua在ios上实现生成及扫描二维码
- Flex4 动态生成,LineChart,AreaChart,ColumnChart,PieC
- c# – 如何将汇编信息添加到由dot net core 2.0生成的Preco
- 如何将引用的对象展平为referer上的两个json.net属性?
- c# – Parallel.For跳过元素