早几天更新了一下DXSDK,用的野猪那下的2006(Dec),跑了一下编辑器,发现
一个问题,以前能正确编译的FX,现在不行了,一步一步跟踪发现,D3DXCreateEffectFromFile
返回错误是include "global.fxx"找不到。但是global.fxx这个文件很明显存在
于我要编译的fx文件同一目录。修改各种配置,尝试了各种方法,就是编译过不去
最后,我只好把fx中,写上了global.fxx的绝对路径,OK,能行。奇怪的不行了。
分析结果:D3DXCreateEffectFromFile的时候,include处理莫非不是类似C++那样
相对本fx文件,而是和当前路径有关?于是修改了一下include,考虑执行程序的
当前路径,一切正常,我faint。奇怪的设定,以前august 2005没这个事情啊。。
我写fx的时候,怎么会知道今后程序运行时候的当前路径呢?
考虑的解决方案,用宏来定义绝对路径,但是#include不能用macro,放弃,最后
难道非要我再CreateEffect的时候用SetCurrentDirectory来做?是不是太恶心了一点
当然,在我引擎内,游戏最终发布的时候,我做一个D3DXInclude接口,也就能解决
这个问题,不过调试期,我希望能够rt debug fx。我被恶心坏了。
很久没有更新blog,写一点最近发生的几个别的事情:
1。小巍又重新做了我的同事,让他在做场景分割
2。我的小乐吃饭停车不小心撞石头上了,心痛死了
3。最近比较倒霉,我和老婆都生病
4。在公司很不爽,太多SB。恶心坏我了,我准备去恶心一下他们。