RenderScript 割り当てデータアクセス関数

概要

以下の関数を使用すると、割り当てを構成するセルを取得して設定できます。

  • 個々のセルにアクセスするには、rsGetElementAt* 関数と rsSetElementAt 関数を使用します。
  • rsAllocationCopy* 関数と rsAllocationV* 関数を使用して、複数のセルをコピーできます。
  • サンプラーを介して値を取得するには、rsSample を使用します。
rsGetElementAt 関数と rsSetElement* 関数の名前が多少間違っています。 データ型のように要素を取得または設定するのではなく、セルを取得または設定します。これらは rsGetCellAt および rsSetCellAt と考えてください。

まとめ

関数
rsAllocationCopy1DRange 割り当て間で連続セルをコピーする
rsAllocationCopy2DRange 割り当て間のセルの長方形領域をコピーする
rsAllocationVLoadX スカラーの割り当てからベクトルを取得する
rsAllocationVStoreX ベクトルをスカラーの割り当てに格納する
rsGetElementAt 割り当てからセルを返す
rsGetElementAtYuv_uchar_U YUV の割り当てから U コンポーネントを取得する
rsGetElementAtYuv_uchar_V YUV の割り当ての V コンポーネントを取得する
rsGetElementAtYuv_uchar_Y YUV の割り当ての Y コンポーネントを取得する
rsSample テクスチャ割り当てから値をサンプリングする
rsSetElementAt 割り当てのセルを設定する

関数

rsAllocationCopy1DRange : 割り当て間で連続セルをコピーします

void rsAllocationCopy1DRange(rs_allocation dstAlloc、uint32_t dstOff、uint32_t dstMip、uint32_t count、rs_allocation srcAlloc、uint32_t srcOff、uint32_t API レベル 14 で追加されました
パラメータ
dstAllocセルのコピー先の割り当て。
dstOff最初のセルのコピーしたセルの移動先のオフセット。
ディスプレイ&ビデオ 360宛先割り当ての mip レベル。mip マッピングが使用されていない場合は 0。
コピーするセルの数。
srcAllocソースの割り当て。
srcOff最初にコピーされるセルのソースのオフセット。
srcMipソース割り当ての mip レベル。mip マッピングが使用されていない場合は 0。

ある割り当てから別の割り当てに、指定された数のセルをコピーします。

この 2 つの割り当ては異なっている必要があります。この関数を使用して同じ割り当て内でコピーすると、未定義の結果が生成されます。

この関数は、オフセットとカウントがいずれかの割り当てのサイズを超えているかどうかを検証しません。ご注意ください。

この関数は、1 次元割り当て間でのみ呼び出す必要があります。他の割り当てで呼び出すかどうかは未定義です。

この関数は、カーネル内から呼び出すことや、カーネルから直接的または間接的に呼び出される関数から呼び出すことはできません。そのようにすると、ランタイム エラーが発生します。

rsAllocationCopy2DRange : 割り当て間のセルの長方形領域をコピーします

void rsAllocationCopy2DRange(rs_allocation dstAlloc、uint32_t dstXoff、uint32_t dstYoff、uint32_t dstMip、rs_allocation_cubemap_face dstFace、uint32_t width, API レベル 14 で追加されました
パラメータ
dstAllocセルのコピー先の割り当て。
dstXoff設定するリージョンの宛先における X オフセット。
dstYoff設定するリージョンの宛先の Y オフセット。
ディスプレイ&ビデオ 360宛先割り当ての mip レベル。mip マッピングが使用されていない場合は 0。
dstFace宛先割り当てのキューブマップ フェース。キューブマップではない割り当てでは無視されます。
width更新する受信領域の幅。
height更新する受信領域の高さ。
srcAllocソースの割り当て。
srcXoffソース内の X オフセット。
srcYoffソース内の Y オフセット。
srcMipソース割り当ての mip レベル。mip マッピングが使用されていない場合は 0。
srcFaceソース割り当てのキューブマップ フェース。キューブマップではない割り当てでは無視されます。

ある割り当てから別の割り当てにセルの長方形領域をコピーします。 (幅 * 高さ) 個のセルがコピーされます。

この 2 つの割り当ては異なっている必要があります。この関数を使用して同じ割り当て内でコピーすると、未定義の結果が生成されます。

この関数は、送信元リージョンまたは宛先リージョンがそれぞれの割り当てサイズを超えているかどうかは検証しません。ご注意ください。

この関数は、2D 割り当て間でのみ呼び出す必要があります。他の割り当てで呼び出すかどうかは未定義です。

この関数は、カーネル内から呼び出すことや、カーネルから直接的または間接的に呼び出される関数から呼び出すことはできません。そのようにすると、ランタイム エラーが発生します。

rsAllocationVLoadX : スカラーの割り当てからベクトルを取得する

char2 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x); API レベル 22 で追加されました
char2 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
char2 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
char3 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x); API レベル 22 で追加されました
char3 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
char3 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
char4 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x); API レベル 22 で追加されました
char4 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
char4 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
double2 rsAllocationVLoadX_double2(rs_allocation a, uint32_t x); API レベル 22 で追加されました
double2 rsAllocationVLoadX_double2(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
double2 rsAllocationVLoadX_double2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
double3 rsAllocationVLoadX_double3(rs_allocation a, uint32_t x); API レベル 22 で追加されました
double3 rsAllocationVLoadX_double3(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
double3 rsAllocationVLoadX_double3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
double4 rsAllocationVLoadX_double4(rs_allocation a, uint32_t x); API レベル 22 で追加されました
double4 rsAllocationVLoadX_double4(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
double4 rsAllocationVLoadX_double4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
float2 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x); API レベル 22 で追加されました
float2 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
float2 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
float3 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x); API レベル 22 で追加されました
float3 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
float3 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
float4 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x); API レベル 22 で追加されました
float4 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
float4 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
int2 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x); API レベル 22 で追加されました
int2 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
int2 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
int3 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x); API レベル 22 で追加されました
int3 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
int3 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
int4 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x); API レベル 22 で追加されました
int4 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
int4 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
long2 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x); API レベル 22 で追加されました
long2 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
long2 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
long3 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x); API レベル 22 で追加されました
long3 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
long3 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
long4 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x); API レベル 22 で追加されました
long4 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
long4 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
short2 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x); API レベル 22 で追加されました
short2 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
short2 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
short3 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x); API レベル 22 で追加されました
short3 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
short3 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
short4 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x); API レベル 22 で追加されました
short4 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
short4 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
uchar2 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x); API レベル 22 で追加されました
uchar2 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
uchar2 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
uchar3 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x); API レベル 22 で追加されました
uchar3 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
uchar3 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
uchar4 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x); API レベル 22 で追加されました
uchar4 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
uchar4 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
uint2 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x); API レベル 22 で追加されました
uint2 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
uint2 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
uint3 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x); API レベル 22 で追加されました
uint3 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
uint3 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
uint4 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x); API レベル 22 で追加されました
uint4 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
uint4 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
ulong2 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x); API レベル 22 で追加されました
ulong2 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
ulong2 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
ulong3 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x); API レベル 22 で追加されました
ulong3 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
ulong3 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
ulong4 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x); API レベル 22 で追加されました
ulong4 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
ulong4 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
ushort2 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x); API レベル 22 で追加されました
ushort2 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
ushort2 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
ushort3 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x); API レベル 22 で追加されました
ushort3 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
ushort3 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
ushort4 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x); API レベル 22 で追加されました
ushort4 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x, uint32_t y); API レベル 22 で追加されました
ushort4 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
パラメータ
aデータの取得元となる割り当て。
xコピー元となる最初のセルの割り当ての X オフセット。
yコピー元となる最初のセルの割り当ての Y オフセット。
zコピー元の最初のセルの割り当ての Z オフセット。

この関数は、割り当ての連続するセルで構成されるベクトルを返します。割り当てにスカラーが含まれていることを前提としています。

名前の「X」は、X インデックスを増やして、連続する値が抽出されることを示します。現時点では、他のディメンションを増分する連続値を取得する関数はありません。代わりに、rsGetElementAt() に複数の呼び出しを使用してください。

たとえば、rsAllocationVLoadX_int4(a, 20, 30) を呼び出すと、a[20, 30]、a[21, 30]、a[22, 30]、a[23, 30] で構成される int4 が返されます。

3 次元の割り当てから取得する場合は、x、y、z のバリアントを使用します。同様に、2 次元の割り当てには x と y を、単次元の割り当てには x を使用します。

効率上、この関数は入力を検証しません。X インデックスをラップする、割り当てのサイズを超える、または割り当ての次元と互換性のないインデックスを使用すると、未定義の結果が生成されます。

rsAllocationVStoreX() もご覧ください。

rsAllocationVStoreX : ベクトルをスカラーの割り当てに格納する

void rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_double2(rs_allocation a, double2 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_double2(rs_allocation a, double2 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_double2(rs_allocation a, double2 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_double3(rs_allocation a, double3 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_double4(rs_allocation a, double4 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
void rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x); API レベル 22 で追加されました
void rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y); API レベル 22 で追加されました
void rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y, uint32_t z); API レベル 22 で追加されました
パラメータ
aデータの保存先の割り当て。
Val格納される値。
xコピー先となる最初のセルの割り当ての X オフセット。
yコピー先となる最初のセルの割り当ての Y オフセット。
zコピー先となる最初のセルの割り当ての Z オフセット。

この関数は、ベクトルのエントリを割り当ての連続するセルに格納します。割り当てにスカラーが含まれていることを前提としています。

名前の「X」は、X インデックスに増加することで連続する値が格納されることを示します。現時点では、他のディメンションを増分する連続値を格納する関数はありません。代わりに rsSetElementAt() の複数の呼び出しを使用してください。

たとえば、rsAllocationVStoreX_int3(a, v, 20, 30) を呼び出すと、v.x は a[20, 30]、v.y は a[21, 30]、v.z は a[22, 30] に保存されます。

3 次元の割り当てに保存する場合は、x、y、z のバリアントを使用します。同様に、2 次元の割り当てには x と y を、単次元の割り当てには x を使用します。

効率上、この関数は入力を検証しません。X インデックスをラップする、割り当てのサイズを超過する、割り当ての次元と互換性のないインデックスを使用すると、未定義の結果になります。

rsAllocationVLoadX() もご覧ください。

rsGetElementAt : 割り当てからセルを返します

char rsGetElementAt_char(rs_allocation a, uint32_t x);
char rsGetElementAt_char(rs_allocation a, uint32_t x, uint32_t y);
char rsGetElementAt_char(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
char2 rsGetElementAt_char2(rs_allocation a, uint32_t x);
char2 rsGetElementAt_char2(rs_allocation a, uint32_t x, uint32_t y);
char2 rsGetElementAt_char2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
char3 rsGetElementAt_char3(rs_allocation a, uint32_t x);
char3 rsGetElementAt_char3(rs_allocation a, uint32_t x, uint32_t y);
char3 rsGetElementAt_char3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
char4 rsGetElementAt_char4(rs_allocation a, uint32_t x);
char4 rsGetElementAt_char4(rs_allocation a, uint32_t x, uint32_t y);
char4 rsGetElementAt_char4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
const void* rsGetElementAt(rs_allocation a, uint32_t x);
const void* rsGetElementAt(rs_allocation a, uint32_t x, uint32_t y);
const void* rsGetElementAt(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
double rsGetElementAt_double(rs_allocation a, uint32_t x);
double rsGetElementAt_double(rs_allocation a, uint32_t x, uint32_t y);
double rsGetElementAt_double(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
double2 rsGetElementAt_double2(rs_allocation a, uint32_t x);
double2 rsGetElementAt_double2(rs_allocation a, uint32_t x, uint32_t y);
double2 rsGetElementAt_double2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
double3 rsGetElementAt_double3(rs_allocation a, uint32_t x);
double3 rsGetElementAt_double3(rs_allocation a, uint32_t x, uint32_t y);
double3 rsGetElementAt_double3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
double4 rsGetElementAt_double4(rs_allocation a, uint32_t x);
double4 rsGetElementAt_double4(rs_allocation a, uint32_t x, uint32_t y);
double4 rsGetElementAt_double4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
float rsGetElementAt_float(rs_allocation a, uint32_t x);
float rsGetElementAt_float(rs_allocation a, uint32_t x, uint32_t y);
float rsGetElementAt_float(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
float2 rsGetElementAt_float2(rs_allocation a, uint32_t x);
float2 rsGetElementAt_float2(rs_allocation a, uint32_t x, uint32_t y);
float2 rsGetElementAt_float2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
float3 rsGetElementAt_float3(rs_allocation a, uint32_t x);
float3 rsGetElementAt_float3(rs_allocation a, uint32_t x, uint32_t y);
float3 rsGetElementAt_float3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
float4 rsGetElementAt_float4(rs_allocation a, uint32_t x);
float4 rsGetElementAt_float4(rs_allocation a, uint32_t x, uint32_t y);
float4 rsGetElementAt_float4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
half rsGetElementAt_half(rs_allocation a, uint32_t x); API レベル 23 で追加されました
half rsGetElementAt_half(rs_allocation a, uint32_t x, uint32_t y); API レベル 23 で追加されました
half rsGetElementAt_half(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 23 で追加されました
half2 rsGetElementAt_half2(rs_allocation a, uint32_t x); API レベル 23 で追加されました
half2 rsGetElementAt_half2(rs_allocation a, uint32_t x, uint32_t y); API レベル 23 で追加されました
half2 rsGetElementAt_half2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 23 で追加されました
half3 rsGetElementAt_half3(rs_allocation a, uint32_t x); API レベル 23 で追加されました
half3 rsGetElementAt_half3(rs_allocation a, uint32_t x, uint32_t y); API レベル 23 で追加されました
half3 rsGetElementAt_half3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 23 で追加されました
half4 rsGetElementAt_half4(rs_allocation a, uint32_t x); API レベル 23 で追加されました
half4 rsGetElementAt_half4(rs_allocation a, uint32_t x, uint32_t y); API レベル 23 で追加されました
half4 rsGetElementAt_half4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); API レベル 23 で追加されました
int rsGetElementAt_int(rs_allocation a, uint32_t x);
int rsGetElementAt_int(rs_allocation a, uint32_t x, uint32_t y);
int rsGetElementAt_int(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
int2 rsGetElementAt_int2(rs_allocation a, uint32_t x);
int2 rsGetElementAt_int2(rs_allocation a, uint32_t x, uint32_t y);
int2 rsGetElementAt_int2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
int3 rsGetElementAt_int3(rs_allocation a, uint32_t x);
int3 rsGetElementAt_int3(rs_allocation a, uint32_t x, uint32_t y);
int3 rsGetElementAt_int3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
int4 rsGetElementAt_int4(rs_allocation a, uint32_t x);
int4 rsGetElementAt_int4(rs_allocation a, uint32_t x, uint32_t y);
int4 rsGetElementAt_int4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
long rsGetElementAt_long(rs_allocation a, uint32_t x);
long rsGetElementAt_long(rs_allocation a, uint32_t x, uint32_t y);
long rsGetElementAt_long(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
long2 rsGetElementAt_long2(rs_allocation a, uint32_t x);
long2 rsGetElementAt_long2(rs_allocation a, uint32_t x, uint32_t y);
long2 rsGetElementAt_long2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
long3 rsGetElementAt_long3(rs_allocation a, uint32_t x);
long3 rsGetElementAt_long3(rs_allocation a, uint32_t x, uint32_t y);
long3 rsGetElementAt_long3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
long4 rsGetElementAt_long4(rs_allocation a, uint32_t x);
long4 rsGetElementAt_long4(rs_allocation a, uint32_t x, uint32_t y);
long4 rsGetElementAt_long4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
short rsGetElementAt_short(rs_allocation a, uint32_t x);
short rsGetElementAt_short(rs_allocation a, uint32_t x, uint32_t y);
short rsGetElementAt_short(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
short2 rsGetElementAt_short2(rs_allocation a, uint32_t x);
short2 rsGetElementAt_short2(rs_allocation a, uint32_t x, uint32_t y);
short2 rsGetElementAt_short2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
short3 rsGetElementAt_short3(rs_allocation a, uint32_t x);
short3 rsGetElementAt_short3(rs_allocation a, uint32_t x, uint32_t y);
short3 rsGetElementAt_short3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
short4 rsGetElementAt_short4(rs_allocation a, uint32_t x);
short4 rsGetElementAt_short4(rs_allocation a, uint32_t x, uint32_t y);
short4 rsGetElementAt_short4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
uchar rsGetElementAt_uchar(rs_allocation a, uint32_t x);
uchar rsGetElementAt_uchar(rs_allocation a, uint32_t x, uint32_t y);
uchar rsGetElementAt_uchar(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
uchar2 rsGetElementAt_uchar2(rs_allocation a, uint32_t x);
uchar2 rsGetElementAt_uchar2(rs_allocation a, uint32_t x, uint32_t y);
uchar2 rsGetElementAt_uchar2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
uchar3 rsGetElementAt_uchar3(rs_allocation a, uint32_t x);
uchar3 rsGetElementAt_uchar3(rs_allocation a, uint32_t x, uint32_t y);
uchar3 rsGetElementAt_uchar3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
uchar4 rsGetElementAt_uchar4(rs_allocation a, uint32_t x);
uchar4 rsGetElementAt_uchar4(rs_allocation a, uint32_t x, uint32_t y);
uchar4 rsGetElementAt_uchar4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
uint rsGetElementAt_uint(rs_allocation a, uint32_t x);
uint rsGetElementAt_uint(rs_allocation a, uint32_t x, uint32_t y);
uint rsGetElementAt_uint(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
uint2 rsGetElementAt_uint2(rs_allocation a, uint32_t x);
uint2 rsGetElementAt_uint2(rs_allocation a, uint32_t x, uint32_t y);
uint2 rsGetElementAt_uint2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
uint3 rsGetElementAt_uint3(rs_allocation a, uint32_t x);
uint3 rsGetElementAt_uint3(rs_allocation a, uint32_t x, uint32_t y);
uint3 rsGetElementAt_uint3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
uint4 rsGetElementAt_uint4(rs_allocation a, uint32_t x);
uint4 rsGetElementAt_uint4(rs_allocation a, uint32_t x, uint32_t y);
uint4 rsGetElementAt_uint4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
ulong rsGetElementAt_ulong(rs_allocation a, uint32_t x);
ulong rsGetElementAt_ulong(rs_allocation a, uint32_t x, uint32_t y);
ulong rsGetElementAt_ulong(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
ulong2 rsGetElementAt_ulong2(rs_allocation a, uint32_t x);
ulong2 rsGetElementAt_ulong2(rs_allocation a, uint32_t x, uint32_t y);
ulong2 rsGetElementAt_ulong2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
ulong3 rsGetElementAt_ulong3(rs_allocation a, uint32_t x);
ulong3 rsGetElementAt_ulong3(rs_allocation a, uint32_t x, uint32_t y);
ulong3 rsGetElementAt_ulong3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
ulong4 rsGetElementAt_ulong4(rs_allocation a, uint32_t x);
ulong4 rsGetElementAt_ulong4(rs_allocation a, uint32_t x, uint32_t y);
ulong4 rsGetElementAt_ulong4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
ushort rsGetElementAt_ushort(rs_allocation a, uint32_t x);
ushort rsGetElementAt_ushort(rs_allocation a, uint32_t x, uint32_t y);
ushort rsGetElementAt_ushort(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
ushort2 rsGetElementAt_ushort2(rs_allocation a, uint32_t x);
ushort2 rsGetElementAt_ushort2(rs_allocation a, uint32_t x, uint32_t y);
ushort2 rsGetElementAt_ushort2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
ushort3 rsGetElementAt_ushort3(rs_allocation a, uint32_t x);
ushort3 rsGetElementAt_ushort3(rs_allocation a, uint32_t x, uint32_t y);
ushort3 rsGetElementAt_ushort3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
ushort4 rsGetElementAt_ushort4(rs_allocation a, uint32_t x);
ushort4 rsGetElementAt_ushort4(rs_allocation a, uint32_t x, uint32_t y);
ushort4 rsGetElementAt_ushort4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);

この関数は、割り当てから単一のセルを抽出します。

3 次元の割り当てから取得する場合は、x、y、z のバリアントを使用します。同様に、2 次元の割り当てには x と y を、単次元の割り当てには x を使用します。

この関数には 2 つのスタイルがあります。1 つは void* を使用して値のアドレスを返し、もう 1 つは実際の値を返します(例: rsGetElementAt() と rsGetElementAt_int4() )。 プリミティブ型の場合は、より効率的であるため、常に後者を使用してください。

rsGetElementAtYuv_uchar_U : YUV の割り当ての U コンポーネントを取得する

uchar rsGetElementAtYuv_uchar_U(rs_allocation a, uint32_t x, uint32_t y); API レベル 18 で追加されました

YUV の 2D 割り当てから単一の YUV 値の U コンポーネントを抽出します。

プレーンや解像度が異なる場合、割り当て内に Y、U、V の各コンポーネントが格納される場合があります。ここで提供される x 座標と y 座標は Y 平面の次元です。

rsGetElementAtYuv_uchar_Y() をご覧ください。

rsGetElementAtYuv_uchar_V : YUV の割り当ての V コンポーネントを取得する

uchar rsGetElementAtYuv_uchar_V(rs_allocation a, uint32_t x, uint32_t y); API レベル 18 で追加されました

YUV の 2D 割り当てから単一の YUV 値の V 成分を抽出します。

プレーンや解像度が異なる場合、割り当て内に Y、U、V の各コンポーネントが格納される場合があります。ここで提供される x 座標と y 座標は Y 平面の次元です。

rsGetElementAtYuv_uchar_Y() をご覧ください。

rsGetElementAtYuv_uchar_Y : YUV の割り当ての Y コンポーネントを取得する

uchar rsGetElementAtYuv_uchar_Y(rs_allocation a, uint32_t x, uint32_t y); API レベル 18 で追加されました

YUV の 2D 割り当てから単一の YUV 値の Y コンポーネントを抽出します。

プレーンや解像度が異なる場合、割り当て内に Y、U、V の各コンポーネントが格納される場合があります。ここで提供される x 座標と y 座標は Y 平面の次元です。

rsGetElementAtYuv_uchar_U() と rsGetElementAtYuv_uchar_V() をご覧ください。

rsSample : テクスチャ割り当てから値をサンプリングする

float4 rsSample(rs_allocation a, rs_sampler s, float location); API レベル 16 で追加されました
float4 rsSample(rs_allocation a, rs_sampler s, float location, float lod); API レベル 16 で追加されました
float4 rsSample(rs_allocation a, rs_sampler s, float2 location); API レベル 16 で追加されました
float4 rsSample(rs_allocation a, rs_sampler s, float2 location, float lod); API レベル 16 で追加されました
パラメータ
aサンプリング元の割り当て。
サンプラーの状態。
位置情報サンプリング元のロケーション。
LODサンプリングする mip レベル。小数値の場合、RS_SAMPLER_LINEAR_MIP_LINEAR を使用すると mip レベルが補間されます。

サンプラーが記述した方法で、テクスチャ割り当てから値を取得します。

割り当てが 1D の場合は、位置に浮動小数点数を含むバリアントを使用します。2D の場合は、float2 バリアントを使用します。

詳しくは、android.renderscript.Sampler をご覧ください。

rsSetElementAt : 割り当てのセルを設定する

void rsSetElementAt(rs_allocation a, void* ptr, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt(rs_allocation a, void* ptr, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_char(rs_allocation a, char val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_char(rs_allocation a, char val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_char(rs_allocation a, char val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_double(rs_allocation a, double val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_double(rs_allocation a, double val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_double(rs_allocation a, double val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_double2(rs_allocation a, double2 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_double2(rs_allocation a, double2 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_double2(rs_allocation a, double2 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_double3(rs_allocation a, double3 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_double4(rs_allocation a, double4 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_float(rs_allocation a, float val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_float(rs_allocation a, float val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_float(rs_allocation a, float val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_half(rs_allocation a, half val, uint32_t x); API レベル 23 で追加されました
void rsSetElementAt_half(rs_allocation a, half val, uint32_t x, uint32_t y); API レベル 23 で追加されました
void rsSetElementAt_half(rs_allocation a, half val, uint32_t x, uint32_t y, uint32_t z); API レベル 23 で追加されました
void rsSetElementAt_half2(rs_allocation a, half2 val, uint32_t x); API レベル 23 で追加されました
void rsSetElementAt_half2(rs_allocation a, half2 val, uint32_t x, uint32_t y); API レベル 23 で追加されました
void rsSetElementAt_half2(rs_allocation a, half2 val, uint32_t x, uint32_t y, uint32_t z); API レベル 23 で追加されました
void rsSetElementAt_half3(rs_allocation a, half3 val, uint32_t x); API レベル 23 で追加されました
void rsSetElementAt_half3(rs_allocation a, half3 val, uint32_t x, uint32_t y); API レベル 23 で追加されました
void rsSetElementAt_half3(rs_allocation a, half3 val, uint32_t x, uint32_t y, uint32_t z); API レベル 23 で追加されました
void rsSetElementAt_half4(rs_allocation a, half4 val, uint32_t x); API レベル 23 で追加されました
void rsSetElementAt_half4(rs_allocation a, half4 val, uint32_t x, uint32_t y); API レベル 23 で追加されました
void rsSetElementAt_half4(rs_allocation a, half4 val, uint32_t x, uint32_t y, uint32_t z); API レベル 23 で追加されました
void rsSetElementAt_int(rs_allocation a, int val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_int(rs_allocation a, int val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_int(rs_allocation a, int val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_long(rs_allocation a, long val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_long(rs_allocation a, long val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_long(rs_allocation a, long val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_short(rs_allocation a, short val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_short(rs_allocation a, short val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_short(rs_allocation a, short val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました
void rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x); API レベル 18 で追加されました
void rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y); API レベル 18 で追加されました
void rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y, uint32_t z); API レベル 18 で追加されました

この関数は、割り当ての単一のセルに値を格納します。

3 次元の割り当てに保存する場合は、x、y、z のバリアントを使用します。同様に、2 次元の割り当てには x と y を、単次元の割り当てには x を使用します。

この関数には 2 つのスタイルがあります。1 つは void* を使用して格納する値を渡します。もう 1 つは、実際の値を引数として渡します(例: rsSetElementAt() と rsSetElementAt_int4() )。プリミティブ型の場合は、より効率的であるため、常に後者を使用してください。

rsGetElementAt() もご覧ください。