Tổng quan
Bạn có thể sử dụng các hàm dưới đây để lấy và đặt các ô bao gồm hoạt động phân bổ.
- Bạn có thể truy cập vào các ô riêng lẻ bằng các hàm rsGetElementAt* và rsSetElementAt.
- Bạn có thể sao chép nhiều ô bằng các hàm rsAllocationCopy* và rsAllocationV*.
- Để nhận các giá trị thông qua trình lấy mẫu, hãy sử dụng rsSample.
Tóm tắt
Hàm | |
---|---|
rsAllocationCopy1DRange | Sao chép các ô liên tiếp giữa các lần phân bổ |
rsAllocationCopy2DRange | Sao chép một vùng ô hình chữ nhật giữa các lần phân bổ |
rsAllocationVLoadX | Lấy vectơ từ phép phân bổ các đại lượng vô hướng |
rsAllocationVStoreX | Lưu trữ vectơ vào phương thức phân bổ các đại lượng vô hướng |
rsGetElementAt | Trả về một ô từ một lượt phân bổ |
rsGetElementAtYuv_uchar_U | Lấy thành phần U của lượt phân bổ YUV |
rsGetElementAtYuv_uchar_V | Lấy thành phần V của lượt phân bổ YUV |
rsGetElementAtYuv_uchar_Y | Lấy thành phần Y của lượt phân bổ YUV |
rsSample | Lấy mẫu một giá trị từ hoạt động phân bổ kết cấu |
rsSetElementAt | Đặt một ô của một mức phân bổ |
Hàm
rsAllocationCopy1DRange : Sao chép các ô liên tiếp giữa các lần phân bổ
void rsAllocationCopy1DRange(rs_allocation dstAlloc, uint32_t dstOff, uint32_t dstMip, uint32_t count, rs_allocation srcAlloc, uint32_t srcTắt, uint32_tip); | Đã thêm vào API cấp 14 |
Tham số
dstAlloc | Phân bổ để sao chép các ô vào. |
---|---|
dstTắt | Độ lệch trong đích đến của ô đầu tiên được sao chép vào. |
dstMip | Cấp Mip trong quá trình phân bổ đích đến. 0 nếu không sử dụng bản đồ mip. |
số lượng | Số ô cần sao chép. |
srcAlloc | Phân bổ nguồn. |
Tắt | Độ lệch trong nguồn của ô đầu tiên được sao chép. |
srcMip | Cấp Mip trong quá trình phân bổ nguồn. 0 nếu không sử dụng bản đồ mip. |
Sao chép số lượng ô được chỉ định từ lần phân bổ này sang lần phân bổ khác.
Hai cơ cấu phân bổ phải khác nhau. Việc sử dụng hàm này để sao chép trong cùng một quy trình phân bổ sẽ dẫn đến kết quả không xác định.
Hàm không xác thực liệu số cộng bù trừ có vượt quá kích thước của một trong hai mức phân bổ hay không. Hãy cẩn trọng!
Hàm này chỉ được gọi giữa các lượt phân bổ 1D. Không xác định được việc gọi hàm này trên các lượt phân bổ khác.
Bạn không được gọi hàm này từ bên trong một hạt nhân hoặc từ bất kỳ hàm nào có thể được gọi trực tiếp hoặc gián tiếp từ một hạt nhân. Làm như vậy sẽ gây ra lỗi thời gian chạy.
rsAllocationCopy2DRange : Sao chép một vùng ô hình chữ nhật giữa các lần phân bổ
void rsAllocationCopy2DRange(rs_allocation dstAlloc, uint32_t dstXoff, uint32_t dstYoff, uint32_t dstMip, rs_allocation_CUmap_face dstFace}10}uint32_t{/12_location} của uint32_t chiều rộng uint32_t | Đã thêm vào API cấp 14 |
Tham số
dstAlloc | Phân bổ để sao chép các ô vào. |
---|---|
dstXoff | Độ lệch X trong đích đến của khu vực được đặt. |
tắt | Độ lệch Y trong đích đến của khu vực sẽ được đặt. |
dstMip | Cấp Mip trong quá trình phân bổ đích đến. 0 nếu không sử dụng bản đồ mip. |
Mặt | Mặt lập bản đồ của quá trình phân bổ đích đến. Bỏ qua đối với các lượt phân bổ không phải là sơ đồ khối. |
chiều rộng | Chiều rộng của khu vực đến cần cập nhật. |
chiều cao | Chiều cao của khu vực sắp đến để cập nhật. |
srcAlloc | Phân bổ nguồn. |
srcXoff | Độ lệch X trong nguồn. |
Tắt | Độ lệch Y ở nguồn. |
srcMip | Cấp Mip trong quá trình phân bổ nguồn. 0 nếu không sử dụng bản đồ mip. |
srcFace | Giao diện lập bản đồ của quá trình phân bổ nguồn. Bỏ qua đối với các lượt phân bổ không phải là sơ đồ khối. |
Sao chép một vùng hình chữ nhật của ô từ lần phân bổ này sang lần phân bổ khác. Các ô (chiều rộng * chiều cao) đã được sao chép.
Hai cơ cấu phân bổ phải khác nhau. Việc sử dụng hàm này để sao chép trong cùng một quy trình phân bổ sẽ dẫn đến kết quả không xác định.
Hàm này không xác thực liệu khu vực nguồn hoặc khu vực đích có vượt quá kích thước của mức phân bổ tương ứng hay không. Hãy cẩn trọng!
Hàm này chỉ được gọi giữa các lần phân bổ 2D. Không xác định được việc gọi hàm này trên các lượt phân bổ khác.
Bạn không được gọi hàm này từ bên trong một hạt nhân hoặc từ bất kỳ hàm nào có thể được gọi trực tiếp hoặc gián tiếp từ một hạt nhân. Làm như vậy sẽ gây ra lỗi thời gian chạy.
rsAllocationVLoadX : Lấy vectơ từ quá trình phân bổ các đại lượng vô hướng
char2 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
char2 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
char2 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
char3 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
char3 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
char3 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
char4 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
char4 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
char4 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
Double2 rsAllocationVLoadX_Double2(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
Double2 rsAllocationVLoadX_Double2(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
Double2 rsAllocationVLoadX_double2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
Double3 rsAllocationVLoadX_double3(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
Double3 rsAllocationVLoadX_Double3(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
Double3 rsAllocationVLoadX_Double3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
Double4 rsAllocationVLoadX_Double4(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
double4 rsAllocationVLoadX_Double4(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
Double4 rsAllocationVLoadX_Double4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
float2 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
float2 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
float2 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
float3 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
float3 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
float3 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
float4 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
float4 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
float4 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
int2 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
int2 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
int2 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
int3 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
int3 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
int3 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
int4 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
int4 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
int4 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
long2 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
long2 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
long2 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
long3 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
long3 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
long3 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
long4 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
long4 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
long4 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
short2 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
short2 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
short2 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
short3 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
short3 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
short3 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
short4 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
short4 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
short4 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
uchar2 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
uchar2 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
uchar2 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
uchar3 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
uchar3 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
uchar3 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
uchar4 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
uchar4 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
uchar4 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
uint2 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
uint2 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
uint2 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
uint3 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
uint3 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
uint3 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
uint4 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
uint4 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
uint4 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
ulong2 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
ulong2 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
ulong2 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
ulong3 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
ulong3 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
ulong3 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
ulong4 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
ulong4 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
ulong4 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
ushort2 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
ushort2 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
ushort2 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
ushort3 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
ushort3 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
ushort3 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
ushort4 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 22 |
ushort4 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
ushort4 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
Tham số
a | Phân bổ để lấy dữ liệu. |
---|---|
lần | Độ lệch X trong quá trình phân bổ ô đầu tiên được sao chép. |
y | Độ lệch Y trong hoạt động phân bổ của ô đầu tiên được sao chép. |
z | Độ lệch Z trong quá trình phân bổ ô đầu tiên được sao chép. |
Hàm này trả về một vectơ bao gồm các ô liên tiếp của lượt phân bổ. Phương pháp này giả định rằng phép phân bổ chứa các đại lượng vô hướng.
"X" trong tên cho biết các giá trị kế tiếp được trích xuất bằng cách tăng chỉ mục X. Hiện không có hàm nào để nhận các giá trị liên tiếp làm tăng các phương diện khác. Thay vào đó, hãy sử dụng nhiều lệnh gọi đến rsGetElementAt().
Ví dụ: khi gọi rsAllocationVLoadX_int4(a, 20, 30), một int4 bao gồm a[20, 30], a[21, 30], a[22, 30] và a[23, 30] sẽ được trả về.
Khi truy xuất từ mô hình phân bổ ba chiều, hãy sử dụng biến thể x, y, z. Tương tự, hãy sử dụng biến thể x, y cho phương thức phân bổ 2 phương diện và x cho phương thức phân bổ đơn phương diện.
Để tăng tính hiệu quả, hàm này không xác thực các dữ liệu đầu vào. Việc cố gắng bao bọc chỉ mục X, vượt quá kích thước của nội dung phân bổ hoặc sử dụng các chỉ mục không tương thích với chiều của quá trình phân bổ sẽ dẫn đến các kết quả không xác định.
Hãy xem thêm rsAllocationVStoreX().
rsAllocationVStoreX : Lưu trữ vectơ vào bảng phân bổ các đại lượng vô hướng
void rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_Double2(rs_allocation a, double2 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_Double2(rs_allocation a, double2 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_double2(rs_allocation a, Double2 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_Double3(rs_allocation a, double3 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_Double3(rs_allocation a, double3 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_Double3(rs_allocation a, double3 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_double4(rs_allocation a, double4 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_Double4(rs_allocation a, double4 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_Double4(rs_allocation a, double4 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_int2(rs_allocation a, val int2, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_int3(rs_allocation a, val int3, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 22 |
void rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 22 |
Tham số
a | Phân bổ để lưu trữ dữ liệu. |
---|---|
val | Giá trị sẽ được lưu trữ. |
lần | Độ lệch X trong quy trình phân bổ của ô đầu tiên được sao chép vào. |
y | Độ lệch Y trong quá trình phân bổ của ô đầu tiên được sao chép vào. |
z | Độ lệch Z trong quá trình phân bổ ô đầu tiên được sao chép vào. |
Hàm này lưu trữ các mục nhập của một vectơ vào các ô liên tiếp của một lượt phân bổ. Phương pháp này giả định rằng phép phân bổ chứa các đại lượng vô hướng.
"X" trong tên cho biết các giá trị kế tiếp được lưu trữ bằng cách tăng chỉ mục X. Hiện không có hàm nào để lưu trữ giá trị liên tiếp tăng lên theo các phương diện khác. Thay vào đó, hãy sử dụng nhiều lệnh gọi đến rsSetElementAt().
Ví dụ: khi gọi rsAllocationVStoreX_int3(a, v, 20, 30), v.x được lưu trữ tại a[20, 30], v.y tại a[21, 30] và v.z tại a[22, 30].
Khi lưu trữ vào mô hình phân bổ ba chiều, hãy sử dụng biến thể x, y, z. Tương tự, hãy sử dụng biến thể x, y cho phương thức phân bổ 2 phương diện và x cho phương thức phân bổ đơn phương diện.
Để tăng tính hiệu quả, hàm này không xác thực các dữ liệu đầu vào. Việc cố gắng gói chỉ mục X, vượt quá kích thước của quy trình phân bổ hoặc sử dụng các chỉ mục không tương thích với kích thước của kết quả không xác định trong giá trị yiel phân bổ.
Xem thêm rsAllocationVLoadX().
rsGetElementAt : Trả về ô từ một mức phân bổ
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); | Đã thêm vào API cấp 23 |
half rsGetElementAt_half(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 23 |
half rsGetElementAt_half(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 23 |
half2 rsGetElementAt_half2(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 23 |
half2 rsGetElementAt_half2(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 23 |
half2 rsGetElementAt_half2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 23 |
half3 rsGetElementAt_half3(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 23 |
half3 rsGetElementAt_half3(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 23 |
half3 rsGetElementAt_half3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 23 |
half4 rsGetElementAt_half4(rs_allocation a, uint32_t x); | Đã thêm vào API cấp 23 |
half4 rsGetElementAt_half4(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 23 |
half4 rsGetElementAt_half4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 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); |
Hàm này trích xuất một ô duy nhất từ mô hình phân bổ.
Khi truy xuất từ mô hình phân bổ ba chiều, hãy sử dụng biến thể x, y, z. Tương tự, hãy sử dụng biến thể x, y cho phương thức phân bổ 2 phương diện và x cho phương thức phân bổ đơn phương diện.
Hàm này có hai kiểu. Một kiểu trả về địa chỉ của giá trị bằng cách sử dụng void*, loại còn lại trả về giá trị thực tế, ví dụ: rsGetElementAt() so với rsGetElementAt_int4(). Đối với loại gốc, hãy luôn sử dụng loại thứ hai vì nó hiệu quả hơn.
rsGetElementAtYuv_uchar_U : Lấy thành phần U của lượt phân bổ YUV
uchar rsGetElementAtYuv_uchar_U(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
Trích xuất thành phần U của một giá trị YUV duy nhất từ hoạt động phân bổ 2D của YUV.
Bên trong một mô hình phân bổ, các thành phần Y, U và V có thể được lưu trữ nếu các mặt phẳng và độ phân giải khác nhau. Các toạ độ x, y được cung cấp ở đây là kích thước của mặt phẳng Y.
Hãy xem rsGetElementAtYuv_uchar_Y().
rsGetElementAtYuv_uchar_V : Lấy thành phần V của lượt phân bổ YUV
uchar rsGetElementAtYuv_uchar_V(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
Trích xuất thành phần V của một giá trị YUV duy nhất từ hoạt động phân bổ 2D của YUV.
Bên trong một mô hình phân bổ, các thành phần Y, U và V có thể được lưu trữ nếu các mặt phẳng và độ phân giải khác nhau. Các toạ độ x, y được cung cấp ở đây là kích thước của mặt phẳng Y.
Hãy xem rsGetElementAtYuv_uchar_Y().
rsGetElementAtYuv_uchar_Y : Lấy thành phần Y của lượt phân bổ YUV
uchar rsGetElementAtYuv_uchar_Y(rs_allocation a, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
Trích xuất thành phần Y của một giá trị YUV duy nhất từ hoạt động phân bổ 2D của YUV.
Bên trong một mô hình phân bổ, các thành phần Y, U và V có thể được lưu trữ nếu các mặt phẳng và độ phân giải khác nhau. Các toạ độ x, y được cung cấp ở đây là kích thước của mặt phẳng Y.
Hãy xem rsGetElementAtYuv_uchar_U() và rsGetElementAtYuv_uchar_V().
rsSample : Lấy mẫu một giá trị từ quá trình phân bổ kết cấu
float4 rsSample(rs_allocation a, rs_sampler s, float location); | Đã thêm vào API cấp 16 |
float4 rsSample(rs_allocation a, rs_sampler s, float location, float lod); | Đã thêm vào API cấp 16 |
float4 rsSample(rs_allocation a, rs_sampler s, float2 location); | Đã thêm vào API cấp 16 |
float4 rsSample(rs_allocation a, rs_sampler s, vị trí float2, float lod); | Đã thêm vào API cấp 16 |
Tham số
a | Phân bổ để lấy mẫu. |
---|---|
giây | Trạng thái của bộ lấy mẫu. |
vị trí | Địa điểm để lấy mẫu. |
nghỉ | Cấp Mip cần lấy mẫu, đối với các giá trị phân số, thì cấp mip sẽ được nội suy nếu sử dụng RS_SAMPLER_LINEAR_MIP_LINEAR. |
Tìm nạp một giá trị từ quá trình phân bổ kết cấu theo cách mà trình lấy mẫu mô tả.
Nếu mức phân bổ của bạn là 1D, hãy sử dụng biến thể có số thực cho vị trí. Đối với 2D, hãy sử dụng biến thể float2.
Hãy xem android.renderscript.Sampler để biết thêm thông tin chi tiết.
rsSetElementAt : Đặt một ô của một mức phân bổ
void rsSetElementAt(rs_allocation a, void* ptr, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt(rs_allocation a, void* ptr, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_char(rs_allocation a, char val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_char(rs_allocation a, char val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_char(rs_allocation a, char val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_double(rs_allocation a, double val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_double(rs_allocation a, double val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_Double(rs_allocation a, double val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_Double2(rs_allocation a, double2 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ double2(rs_allocation a, Double2 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_Double2(rs_allocation a, double2 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_Double3(rs_allocation a, double3 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ đúp3(rs_allocation a, double3 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_Double4(rs_allocation a, double4 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_float(rs_allocation a, val động, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_float(rs_allocation a, float val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_float(rs_allocation a, số thực dấu phẩy động, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_half(rs_allocation a, half val, uint32_t x); | Đã thêm vào API cấp 23 |
void rsSetElementAt_half(rs_allocation a, half val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 23 |
void rsSetElementAt_half(rs_allocation a, half val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 23 |
void rsSetElementAt_half2(rs_allocation a, half2 val, uint32_t x); | Đã thêm vào API cấp 23 |
void rsSetElementAt_half2(rs_allocation a, half2 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 23 |
void rsSetElementAt_half2(rs_allocation a, half2 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 23 |
void rsSetElementAt_half3(rs_allocation a, half3 val, uint32_t x); | Đã thêm vào API cấp 23 |
void rsSetElementAt_half3(rs_allocation a, half3 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 23 |
void rsSetElementAt_half3(rs_allocation a, half3 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 23 |
void rsSetElementAt_half4(rs_allocation a, half4 val, uint32_t x); | Đã thêm vào API cấp 23 |
void rsSetElementAt_half4(rs_allocation a, half4 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 23 |
void rsSetElementAt_half4(rs_allocation a, half4 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 23 |
void rsSetElementAt_int(rs_allocation a, int val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_int(rs_allocation a, int val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_int(rs_allocation a, int val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_long(rs_allocation a, val dài, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_long(rs_allocation a, long val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_long(rs_allocation a, val dài, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_short(rs_allocation a, val ngắn, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_short(rs_allocation a, val ngắn, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_short(rs_allocation a, val ngắn, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y); | Đã thêm vào API cấp 18 |
void rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y, uint32_t z); | Đã thêm vào API cấp 18 |
Hàm này lưu trữ giá trị vào một ô duy nhất của lượt phân bổ.
Khi lưu trữ vào mô hình phân bổ ba chiều, hãy sử dụng biến thể x, y, z. Tương tự, hãy sử dụng biến thể x, y cho phương thức phân bổ 2 phương diện và x cho phương thức phân bổ đơn phương.
Hàm này có hai kiểu. Một giá trị sẽ được lưu trữ bằng cách sử dụng khoảng trống*, giá trị còn lại có giá trị thực tế làm đối số, ví dụ: rsSetElementAt() so với rsSetElementAt_int4(). Đối với các loại nguyên gốc, hãy luôn sử dụng giá trị thứ hai vì nó hiệu quả hơn.
Xem thêm rsGetElementAt().