求助各位大侠看一看为什么用硬件加速可以生成影子,不用则不行?
如果不是实在没有办法了,我也不会发源代码的,因为看别人的代码非常麻烦的。但实在没有办法了,所以请各位大侠看一下我写的代码,看一看到底是哪里出错了?
我写了一个最最最最最初级的SHADOWMAP。生成的影子也是最最最粗糙的。
我的问题是在ModifyDeviceSettings中加入D3DDEVTYPE_REF,则可以生成简单的影子,注释掉了就不行!我想问题应该是出在了D3D API调用上。但又没有提示出错。真不知道在错在哪里了。都看了一周了,都没有结果。我都没有心情去改善这个SHADOW MAP了,甚至没有信心用DX了。
我用的是DXSDK9(AUGUST 2006),VS2005的编译环境。
这是下载地址,请好心前辈百忙中看一看:http://download.csdn.net/source/2265201
下载之后您可以编译运行看下结果,然后到ModifyDeviceSetting中注释掉pDeviceSettings->DeviceType = D3DDEVTYPE_REF;再看下结果。为什么会不一样啊。
有什么总是您尽管问,我一下认真回答。
另外,这个代码可以用FX显示模型噢,对刚接触DX的朋友有帮助吧。那个模型是从3DS MAX中导出来的,一会我把3DS MAX的脚本代码传给您。虽然非常简单,但可以导出顶点,纹理坐标,纹理数据噢。
我已经没有分了,要不然我会多给很多分的。
[解决办法]
用这个D3DDEVTYPE_REF表示不用硬件光栅化啊
[解决办法]
楼主,你有没有运行DX自带的例子shadowmap?有没有更新最新的显卡驱动?有没有安装最新的DX SDK(我用的是2009.8)
[解决办法]
恩 两种情况的阴影都是一样的 应该是显卡的问题吧