ケース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コンテンツがわずかに残ります。
結論:
テクスチャの更新に何か問題があるはずです。どうしたの???
解決しました!!!
レベルパラメータを1に変更すると、機能します。
D3DXCreateTexture(device, width, height, 1, D3DUSAGE_DYNAMIC, D3DFMT_A8R8G8B8, D3DPOOL_DEFAULT, &texture)