有关 D3DXCreateEffectFromFile 调用失败的问题

      最近把自己的一个DEMO移植到另外一台电脑上,当全部环境整理好之后,一运行却发现调用 D3DXCreateEffectFromFile 的地方没成功。

      之前遇到过类似问题,以为是资源目录问题,于是设置好了工作目录,问题同样出现。

      怀疑是debug版本的文件和release版本文件的目录问题,又重新把文件删除了再加进来,问题依旧。

      于是上网搜索,说可以在调用的地方直接用绝对路径,尝试了下,同样不行,开始怀疑是机器设备问题了。

      网上也有说要更新驱动设备之类的,但还没确定是设备问题,于是还往代码的方向研究。

      再看到的办法是在 D3DXCreateEffectFromFile 的 flag 参数里面加上D3DXSHADER_USE_LEGACY_D3DX9_31_DLL,却发现这个宏居然显示没定义,想想应该不是这问题,我用的是DX9。

      无奈之余看到工程里的输出:D3DX: D3DXCreateEffectFromFileA: Invalid device pointer

      终于确定原因了,是机器设备问题,不用在往程序上耗费时间了。

      要想解决问题,先确定问题,不然,只会是徒劳无功罢了。

posted @ 2011-08-16 08:50  毛志谦  阅读(1396)  评论(0编辑  收藏  举报