|

楼主 |
发表于 2012-7-29 18:15:00
|
显示全部楼层
Re:纹理加载的问题,专业向
首先多谢各位高手们指教了,这个问题后来没过几天就解决了,方法挺傻冒的
1.首先是加载函数
D3DXCreateTextureFromFileEx(g_d3dD,file,D3DX_DEFAULT_NONPOW2 ,D3DX_DEFAULT_NONPOW2 ,1,0,D3DFMT_UNKNOWN,D3DPOOL_MANAGED,D3DX_DEFAULT,D3DX_DEFAULT,0,0,0,&imageinfo[imagename].g_d3dTextrue);
用了D3DX_DEFAULT_NONPOW2和D3DPOOL_MANAGED这两个参数
如果改动这两个参数,不能保证在其他电脑上都可以正常加载
2.这样加载后内存是1G,太大了,所以在加载时把动画贴图都去掉,在需要播放的时候再加载对应的动画贴图,播放完后释放,这样内存占用500M左右
有查到说图片长宽超过4800什么之后会不能加载,但像上面这样设置后所有图片都正常加载了,当然2楼那个68000x68000估计是肯定不可能加载成功的
用D3DPOOL_DEFAULT加载的话,首先xp无论显卡多高端绝对出D3DERR_NOTAVAILABLE,之后就D3DERR_OUTOFVIDEOMEMORY;win7要看显卡,本人9600M GS,512M显存的N卡没问题,较差的9300M也没问题,但一款Intel的756M的显卡就不行,另外一款可以流畅玩战地3的显卡也不行。
所有图片均为png,总大小127M;动画贴图149张,共46M,动画贴图大小均为888x1184
最后说明,实际效果就是“装甲军团”的样子,只是多加了不少东西,所以内存相比变大了 |
|