案例1:
我创建纹理通过
D3DXCreateTexture(device, width, height, 0, D3DUSAGE_DYNAMIC, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &texture)
并更新与白色的质感。
D3DLOCKED_RECT lr;
HRESULT hr = texture->LockRect(0, &lr, NULL, 0);
ConvertRGB2RGBA(width, height, pixels, stride, (unsigned char*)(lr.pBits), lr.Pitch);
texture->UnlockRect(0);
渲染结果显示为:
我要的是表面上的纯白色。
所有顶点的z值等于0.0F。
案例2:
如果我创建纹理通过
D3DXCreateTextureFromFile(device, "e:\\test.bmp", &texture);
不更新纹理,它显示是绝对正确的。
案例3:
如果我从文件创建纹理情况2,和更新纹理为1的情况下 ,结果不正确,有TEST.BMP含量略有保持。
结论:
一定有什么毛病更新质感。 怎么了???
解决了!!!
水平PARAM更改为1,那么它的工作原理。
D3DXCreateTexture(device, width, height, 1, D3DUSAGE_DYNAMIC, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &texture)