为啥texture无法清理干净呢
为什么texture无法清理干净呢?
为什么还有一些画屏的现象
------解决方案--------------------
对啊,我也在愁呢
------解决方案--------------------
TextureLimit = tWidth * tHight;
ZeroMemory( Data,TextureLimit );
这里大小是错误的,应该是 单行的字节数*纹理高 。
列如32位的图片应该是 tWidth * 4 * tHight;
------解决方案--------------------
1.lock参数错误,你传递的参数是不会重写贴图的意思。
2.size计算错误,ls已经说了
3.texture是否有miplevel,如果有的话,看看是否必须对每一层都清除。
- C/C++ code
pTexture->GetLevelDesc( NULL,&PicDes ); long tWidth = PicDes.Width; long tHight = PicDes.Height; TextureLimit = tWidth * tHight; Texture = pTexture; hr = Texture->LockRect(0,&LockedRect,NULL,D3DLOCK_NOOVERWRITE); if( hr != S_OK ) { TextureError( T_Normal ); } DWORD *Data = (DWORD*)LockedRect.pBits; ZeroMemory( Data,TextureLimit );
为什么还有一些画屏的现象
------解决方案--------------------
对啊,我也在愁呢
------解决方案--------------------
TextureLimit = tWidth * tHight;
ZeroMemory( Data,TextureLimit );
这里大小是错误的,应该是 单行的字节数*纹理高 。
列如32位的图片应该是 tWidth * 4 * tHight;
------解决方案--------------------
1.lock参数错误,你传递的参数是不会重写贴图的意思。
2.size计算错误,ls已经说了
3.texture是否有miplevel,如果有的话,看看是否必须对每一层都清除。