2016-09-18 4 views
0

iOS Metal MPSImageのGPUアクセラレーション機能をいくつか書きたいと思います。私が知る必要があることは、MPSImage内の生のテクスチャデータにアクセスする方法です。 featureChannel> 4の場合、テクスチャデータのスライスが複数あります。私はこれらのスライスにアクセスする方法がわかりません。iOS MetalPerformanceShader:MPSImage内の生のテクスチャデータにアクセスする方法

おかげで、一般的な使用法でたくさん

答えて

0

は、データは私がカルテットを呼び出します4つの特徴チャネルのセットに格納されます。 MTLTextureはこれらをテクセルと呼び、それらがr、g、b、aであると想像するかもしれませんが、実際にはfeature_channels [some_offset + {0,1,2,3}]

です。MPSImagesは通常MTLTexture2DArraysです。ピクセル[0,0](特徴チャネル0-3)の第1カルテットは、画像スライス0の座標{0,0}に現れる。ピクセル[0,0]の第2カルテット(特徴チャネル4-7)イメージスライス1の{0,0}など。

// loads the set of 4 contiguous aligned feature channels containing channel 
float4 loadQuartet(texture2d_array<float, access::sample> src, 
        uint2 position, 
        ushort channel) 
{ 
    return src.read(position, firstChannel >> 2); 
} 
関連する問題