MPSImageの基礎となるメモリの操作に問題があります。私は、getBytes
とreplace
のMPSImageのtexture
メンバ変数を使用して、基になるデータを読み書きしています。問題は、メモリがイメージとしてどのように解釈されるか(つまり、行、列、およびチャネルがどのようにレイアウトされているか)のドキュメントを見つけることができないことです。問題を複雑にするのは、フィーチャチャンネルの数にかかわらず、データはRGBAテクスチャスライスのスタックとして保存され、一部のチャンネルは未使用のまま残される可能性があるということです。たとえば、3つのフィーチャチャンネルでは、RGBAテクスチャスライスが1つあり、1つのチャンネルのスペースは使用されません。アップルメタルMPSImageのメモリレイアウト
問題は、実際にMPSImageデータがテクスチャ内でどのように配置されているかです。もともと推測していたよりも複雑に思えます。
多くの実験の後、フィーチャチャンネルの数が< 4か> 4かどうかによってデータが異なるように思われますが、それでもわかりません。
誰も私にMPSImageのデータレイアウトを説明できますか?