读书人

用Direct3D CreateDevice失败解决方案

发布时间: 2012-02-24 16:30:38 作者: rapoo

用Direct3D CreateDevice失败
可能是老问题了...但是...
我的卡是GF 8800GTS的,
装了Aug 2007的DX SDK,
但是CreateDevice时候失败了,所用参数如下:

D3DPRESENT_PARAMETERS d3dpp;

d3dpp.BackBufferWidth= width;
d3dpp.BackBufferHeight= height;
d3dpp.BackBufferFormat= D3DFMT_A8R8G8B8;
d3dpp.BackBufferCount= 1;
d3dpp.MultiSampleType= D3DMULTISAMPLE_NONE;
d3dpp.MultiSampleQuality= 0;
d3dpp.SwapEffect= D3DSWAPEFFECT_DISCARD;
d3dpp.hDeviceWindow= hwnd;
d3dpp.Windowed= true;
d3dpp.EnableAutoDepthStencil = true;
d3dpp.AutoDepthStencilFormat = D3DFMT_D24S8;
d3dpp.Flags= 0;
d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;
d3dpp.PresentationInterval= D3DPRESENT_INTERVAL_IMMEDIATE;

这个例程是Introdoction to 3D Game Programming的第一个例程.有人遇到同样问题解决了的吗?

BTW, d3dpp.AutoDepthStencilFormat = D3DFMT_D16 也同样不行.

[解决办法]
你可以用DXGetErrorDescription看看出错信息。

读书人网 >VC/MFC

热点推荐