C++から画像をUnityテクスチャにコピーしようとしています。画像は320x240ピクセルで、RGBA形式です。私はイメージが大丈夫であることを確認しました。私はUpdateSubresourceを使用しコピーするにはUpdateSubresourceはどのくらいのコピーを知っていますか?
は、ここでのコードは次のとおりです。
GraphicDeviceD3D11* gdevice = (GraphicDeviceD3D11*)graphic_device;
ID3D11DeviceContext* ctx = NULL;
gdevice->d3d11device->lpVtbl->GetImmediateContext(gdevice->d3d11device, &ctx);
if (texturePointer) {
ctx->lpVtbl->UpdateSubresource(ctx, (ID3D11Resource *)texturePointer, 0, NULL, image, imageWidth * 4, 0);
}
ctx->lpVtbl->Release(ctx);
私はほとんどd3d11の専門家だ、と私はこの関数を正しく使用していますかわかりません。 UpdateSubresourceに渡されるイメージのパラメータは、イメージバッファポインタとストライドのみですが、イメージの高さやバッファの長さではありません。
UpdateResourceは、いつコピーを停止するかを知っていますか?
このコードはいくつかの画像で私の役に立つものでしたが、他の人にとってはうまくいきませんでした。メモリ上で画像バッファサイズを超えてアクセス違反が発生しました。
誰かがそれに賛成できますか?
'lpVtbl'とは何ですか?仮想テーブルのいくつかの並べ替え?ドキュメントはそのポインタについて何も言わない。 – Rakete1111