總覽
以下函式可用於取得及設定構成分配作業的儲存格。
- 個別儲存格可以使用 rsGetElementAt* 和 rsSetElementAt 函式存取。
- 您可以使用 rsAllocationCopy* 和 rsAllocationV* 函式複製多個儲存格。
- 如要透過取樣器取得值,請使用 rsSample。
摘要
函式 | |
---|---|
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, src1); | 已在 API 級別 14 中新增。 |
參數
dstAlloc | 要複製儲存格的分配比例。 |
---|---|
DstOff | 做為第一個複製儲存格目的地的偏移值。 |
dstMip | 目的地配置中的 Mip 層級。如果未使用 mip 對應,則為 0。 |
count | 要複製的儲存格數量。 |
srcAlloc | 來源分配。 |
srcOff | 第一個要複製的儲存格來源中的偏移值。 |
斜邊 | 來源分配中的 Mip 層級。如果未使用 mip 對應,則為 0。 |
將指定數量的儲存格從某個分配範圍複製到另一個分配範圍。
兩者的分配必須不同。若使用這個函式在同一配置中複製,會產生未定義的結果。
此函式不會驗證偏移加計數是否超過任一配置的大小。請務必謹慎!
這個函式只能在 1D 分配之間呼叫。在其他配置上呼叫該函式未定義。
請勿從核心內部或任何可直接從核心或間接呼叫的函式呼叫此函式。這樣做會導致執行階段錯誤。
rsAllocationCopy2DRange :在配置之間複製儲存格的矩形區域
void rsAllocationCopy2DRange(rs_allocation dstAlloc, uint32_t dstXoff, uint32_t dstYoff, uint32_t dstMip, rs_allocation_cubemap_face dstFace3, uint32_t | 已在 API 級別 14 中新增。 |
參數
dstAlloc | 要複製儲存格的分配比例。 |
---|---|
dstXoff | 要設定區域目的地中的 X 位移。 |
DstYoff | 要設定的區域目的地中的 Y 軸位移。 |
dstMip | 目的地配置中的 Mip 層級。如果未使用 mip 對應,則為 0。 |
dstFace | 目的地配置的立方圖。系統會忽略非立方圖的配置。 |
寬度 | 要更新的傳入區域寬度。 |
身高 | 要更新的傳入區域高度。 |
srcAlloc | 來源分配。 |
srcXoff | 來源中的 X 軸位移。 |
srcYoff | 來源中的 Y 軸偏移。 |
斜邊 | 來源分配中的 Mip 層級。如果未使用 mip 對應,則為 0。 |
srcFace | 來源配置的立方圖面。系統會忽略非立方圖的配置。 |
將儲存格的矩形區域從一個分配範圍複製到另一個分配範圍。系統隨即複製 (寬度 * 高度) 儲存格。
兩者的分配必須不同。若使用這個函式在同一配置中複製,會產生未定義的結果。
這個函式不會驗證來源或目的地區域是否超過其個別分配作業的大小。請務必謹慎!
這個函式只能在 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) 時,會傳回由 [20, 30]、a[21, 30]、a[22, 30] 和 a[23, 30] 組成的 int4。
從三維分配範圍中擷取時,請使用 x、y、z 變化版本。同樣地,針對雙維度配置,請使用 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 鍵 | 用於儲存資料的目標分配作業。 |
---|---|
值 | 要儲存的值。 |
x | 第一個要複製的第一個儲存格在分配位置中的 X 位移。 |
y | 第一個要複製的儲存格所分配到的 Y 軸位移。 |
z | 第一個要複製的儲存格所分配到的 Z 軸位移。 |
這個函式會將向量項目儲存至分配的連續儲存格。假設分配作業包含純量。
名稱中的「X」表示透過增加 X 索引來儲存後續值。目前沒有函式可儲存遞增其他維度的連續值。請改用多次呼叫 rsSetElementAt()。
舉例來說,呼叫 rsAllocationVStoreX_int3(a, v, 20, 30) 時,v.x 會儲存在 [20, 30], v.y 以 [21, 30] 為 a [22, 30] 和 v.z。
將資料儲存為三個維度配置時,請使用 x、y 和 z 變化版本。同樣地,針對雙維度配置,請使用 x、y 變化版本,針對單維度分配使用 x。
為提高效率,此函式不會驗證輸入內容。嘗試包裝 X 索引、超過分配大小,或使用索引與分配 yiels 未定義結果的維度不相容。
另請參閱 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); |
這個函式會擷取分配作業中的單一儲存格。
從三維分配範圍中擷取時,請使用 x、y、z 變化版本。同樣地,針對雙維度配置,請使用 x、y 變化版本,針對單維度分配使用 x。
這個函式有兩種樣式。其中一個會使用 void* 傳回該值的地址,另一個則會傳回實際值,例如 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 鍵 | 分配來源至樣本。 |
---|---|
s 鍵 | 取樣器狀態。 |
位置 | 要取樣的位置。 |
Lod | 如果使用 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, 雙 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, 浮點 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, 短 val, uint32_t x); | 已在 API 級別 18 中新增。 |
void rsSetElementAt_short(rs_allocation a, 短 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 中新增。 |
這個函式會將值儲存在分配作業的單一儲存格中。
將資料儲存為三個維度配置時,請使用 x、y 和 z 變化版本。同樣地,針對雙維度配置,請使用 x、y 變化版本,若為單維度分配,則使用 x。
這個函式有兩種樣式。其中一個傳遞要使用 void* 儲存的值,另一個則包含實際值做為引數,例如 rsSetElementAt() 與 rsSetElementAt_int4()。 如果是原始類型,請一律使用後者,因為前者會更有效率。
另請參閱 rsGetElementAt()。