情況1:
我通過的DirectX - 紋理渲染的結果是不正確
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內容稍有殘留。
結論:
一定有什麼毛病更新質感。怎麼了???
解決!
更改級別參數爲1,然後它工作。
D3DXCreateTexture(device, width, height, 1, D3DUSAGE_DYNAMIC, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &texture)
添加您的解決方案作爲答案。這樣,問題可以被認爲是解決的。 –