これを行うためのコードスニペットはありますか? 私はVkImageにオフスクリーンレンダリングを行い、その結果をpngにダンプします。私はVkBufferを作成し、vkCmdCopyImageToBufferを実行しましたが、前進する方法がわかりません。VkBufferの内容をVulkanのデータで満たした後、その内容を読み取る方法は?
編集: 私はVkBufferCreateInfoでVkBufferを作成しています。 vkAllocateMemoryを割り当てていないのは、GPUメモリに関連付ける必要がないからです。その後、私はvkCmdCopyImageToBufferを実行します。それで、データがVkBufferにコピーされたと仮定してmemcpyを実行する方法。
あなたの質問は何ですか? VkImageのデータを読み込む方法、または2Dピクセル配列をPNGに変換する方法は? –
@NicolBolas VkImageデータの読み方は? –
しかし、あなたは*画像のデータを読んだだけです。あなたは 'vkCmdCopyImageToBuffer'を使用しました。それは、Vulkanがあなたのために行うデータのすべての "読書"です。データをコピーしたばかりのバッファを読み取る方法を尋ねていますか?あなたは、バッファ内のデータがどのように格納されているか尋ねていますか? Vulkanの仕様ではこれらの両方が説明されているためです。だから、あなたが混乱していることは明らかではありません。 –