1
我試圖在全屏中創建一個DirectX設備(直到此時我已經做了窗口處理),但設備不會被創建,並且我得到一個無效呼叫HR失敗。創建全屏DirectX設備導致D3DERR_INVALIDCALL
這是我的代碼:
md3dPP.BackBufferWidth = 1280;
md3dPP.BackBufferHeight = 720;
md3dPP.BackBufferFormat = D3DFMT_UNKNOWN;
md3dPP.BackBufferCount = 1;
md3dPP.MultiSampleType = D3DMULTISAMPLE_NONE;
md3dPP.MultiSampleQuality = 0;
md3dPP.SwapEffect = D3DSWAPEFFECT_DISCARD;
md3dPP.hDeviceWindow = mhMainWnd;
md3dPP.Windowed = false;
md3dPP.EnableAutoDepthStencil = true;
md3dPP.AutoDepthStencilFormat = D3DFMT_D24S8;
md3dPP.Flags = 0;
md3dPP.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
md3dPP.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
HR(md3dObject->CreateDevice(
D3DADAPTER_DEFAULT, // primary adapter
mDevType, // device type
mhMainWnd, // window associated with device
devBehaviorFlags, // vertex processing
&md3dPP, // present parameters
&m_pd3dDevice)); // return created device
通知 'md3dPP.Windowed = FALSE;',如果這是真的該設備在窗口模式下創建。
我的印象我在一些我的默認值中犯了一個錯誤,但不知道在哪裏看。有沒有辦法獲得關於爲什麼設備創建超出D3DERR_INVALIDCALL失敗的更詳細報告?