郁闷!为什么一执行d3d的CreateDevice就失败?

codeclub 2003-09-15 01:36:41
就是d3d给的那几个Tutorials我基本上都不能运行?
编译都是没有错误的!可就是一运行就是什么都没有!
(也许窗口闪了一下就消失了,太快了!)
我跟踪了一下第一个 Tut01_CreateDevice 程序!
发现运行到CreateDevice好像失败退出了:
if( FAILED( g_pD3D->CreateDevice( D3DADAPTER_DEFAULT,
D3DDEVTYPE_HAL,
hWnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING,
&d3dpp,
&g_pd3dDevice ) ) )
{
return E_FAIL; //程序跳到了这里?
}
为什么会CreateDevice失败?如果说我的显卡(Voodoo3000)不支持HAL的话,可我玩反恐什么的
选为d3d硬件加速都是没问题的,运行 d3d自带的那些什么Meshes 例子也是可以看到那个贴图的
老虎和走动小人的,我也试了一下模式D3DDEVTYPE_REF 和 D3DDEVTYPE_SW 也都是失败的!
为什么会这样?他们那些例子是怎么创建d3d的,我刚看d3d一天,实在看不懂Meshes那些大量的
代码,看这几个Tutorials还勉强可以看懂,结果一个也出不来结果,郁闷!那位大虾指点一下迷津?

...全文
1407 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
codeclub 2003-09-17
  • 打赏
  • 举报
回复
hehe,终于解决了!原来是voodoo不支持32色深d3d的问题!
程序默认取桌面分辨率和色深,我桌面是32色深(2d还
是支持的),照成创建失败!

将d3dpp强行设为16D就搞定了!(或者将当前桌面色深设为16D也可)
brainf 2003-09-16
  • 打赏
  • 举报
回复
试试把d3dpp置为全屏模式!
d3dpp.BackBufferWidth=800;
d3dpp.BackBufferHeight=600;
d3dpp.Windowed = false;
voodoo的窗口模式好像有问题!
brainf 2003-09-16
  • 打赏
  • 举报
回复
t
codeclub 2003-09-15
  • 打赏
  • 举报
回复
up

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧