public class Element extends BaseObj
An Element represents one item within an Allocation
. An Element is roughly equivalent to a C
type in a RenderScript kernel. Elements may be basic or complex. Some basic
elements are
A complex element is roughly equivalent to a C struct
and contains a number of basic or complex Elements. From Java code, a complex
element contains a list of sub-elements and names that represents a
particular data structure. Structs used in RS scripts are available to Java
code by using the ScriptField_structname
class that is reflected from
a particular script.
Basic Elements are comprised of a Element.DataType
and a Element.DataKind
. The DataType encodes C type
information of an Element, while the DataKind encodes how that Element should
be interpreted by a Sampler
. Note that Allocation
objects with DataKind Element.DataKind.USER
cannot be used as input for a
Sampler
. In general, Allocation
objects that are intended for use with a
Sampler
should use bitmap-derived Elements such
as RGBA_8888(android.renderscript.RenderScript)
or android.renderscript
.
For more information about creating an application that uses RenderScript, read the RenderScript developer guide.
Modifier and Type | Class and Description |
---|---|
static class |
Element.Builder
Builder class for producing complex elements with matching field and name
pairs.
|
static class |
Element.DataKind
The special interpretation of the data if required.
|
static class |
Element.DataType
DataType represents the basic type information for a basic element.
|
Modifier and Type | Method and Description |
---|---|
static Element |
A_8(RenderScript rs) |
static Element |
ALLOCATION(RenderScript rs) |
static Element |
BOOLEAN(RenderScript rs)
Utility function for returning an Element containing a single Boolean.
|
static Element |
createPixel(RenderScript rs,
Element.DataType dt,
Element.DataKind dk)
Create a new pixel Element type.
|
static Element |
createVector(RenderScript rs,
Element.DataType dt,
int size)
Create a custom vector element of the specified DataType and vector size.
|
static Element |
ELEMENT(RenderScript rs) |
static Element |
F16_2(RenderScript rs) |
static Element |
F16_3(RenderScript rs) |
static Element |
F16_4(RenderScript rs) |
static Element |
F16(RenderScript rs) |
static Element |
F32_2(RenderScript rs) |
static Element |
F32_3(RenderScript rs) |
static Element |
F32_4(RenderScript rs) |
static Element |
F32(RenderScript rs) |
static Element |
F64_2(RenderScript rs) |
static Element |
F64_3(RenderScript rs) |
static Element |
F64_4(RenderScript rs) |
static Element |
F64(RenderScript rs) |
static Element |
FONT(RenderScript rs) |
int |
getBytesSize() |
Element.DataKind |
getDataKind() |
Element.DataType |
getDataType() |
Element |
getSubElement(int index)
For complex elements, this function will return the
sub-element at index
|
int |
getSubElementArraySize(int index)
For complex elements, some sub-elements could be statically
sized arrays.
|
int |
getSubElementCount()
Elements could be simple, such as an int or a float, or a
structure with multiple sub elements, such as a collection of
floats, float2, float4.
|
String |
getSubElementName(int index)
For complex elements, this function will return the
sub-element name at index
|
int |
getSubElementOffsetBytes(int index)
This function specifies the location of a sub-element within
the element
|
int |
getVectorSize()
Returns the number of vector components. 2 for float2, 4 for
float4, etc.
|
static Element |
I16_2(RenderScript rs) |
static Element |
I16_3(RenderScript rs) |
static Element |
I16_4(RenderScript rs) |
static Element |
I16(RenderScript rs) |
static Element |
I32_2(RenderScript rs) |
static Element |
I32_3(RenderScript rs) |
static Element |
I32_4(RenderScript rs) |
static Element |
I32(RenderScript rs) |
static Element |
I64_2(RenderScript rs) |
static Element |
I64_3(RenderScript rs) |
static Element |
I64_4(RenderScript rs) |
static Element |
I64(RenderScript rs) |
static Element |
I8_2(RenderScript rs) |
static Element |
I8_3(RenderScript rs) |
static Element |
I8_4(RenderScript rs) |
static Element |
I8(RenderScript rs)
Utility function for returning an Element containing a single SIGNED_8.
|
boolean |
isCompatible(Element e)
Check if the current Element is compatible with another Element.
|
boolean |
isComplex()
Return if a element is too complex for use as a data source for a Mesh or
a Program.
|
static Element |
MATRIX_2X2(RenderScript rs) |
static Element |
MATRIX_3X3(RenderScript rs) |
static Element |
MATRIX_4X4(RenderScript rs) |
static Element |
MATRIX4X4(RenderScript rs)
Deprecated.
use MATRIX_4X4
|
static Element |
MESH(RenderScript rs) |
static Element |
PROGRAM_FRAGMENT(RenderScript rs) |
static Element |
PROGRAM_RASTER(RenderScript rs) |
static Element |
PROGRAM_STORE(RenderScript rs) |
static Element |
PROGRAM_VERTEX(RenderScript rs) |
static Element |
RGB_565(RenderScript rs) |
static Element |
RGB_888(RenderScript rs) |
static Element |
RGBA_4444(RenderScript rs) |
static Element |
RGBA_5551(RenderScript rs) |
static Element |
RGBA_8888(RenderScript rs) |
static Element |
SAMPLER(RenderScript rs) |
static Element |
SCRIPT(RenderScript rs) |
static Element |
TYPE(RenderScript rs) |
static Element |
U16_2(RenderScript rs) |
static Element |
U16_3(RenderScript rs) |
static Element |
U16_4(RenderScript rs) |
static Element |
U16(RenderScript rs) |
static Element |
U32_2(RenderScript rs) |
static Element |
U32_3(RenderScript rs) |
static Element |
U32_4(RenderScript rs) |
static Element |
U32(RenderScript rs) |
static Element |
U64_2(RenderScript rs) |
static Element |
U64_3(RenderScript rs) |
static Element |
U64_4(RenderScript rs) |
static Element |
U64(RenderScript rs) |
static Element |
U8_2(RenderScript rs) |
static Element |
U8_3(RenderScript rs) |
static Element |
U8_4(RenderScript rs) |
static Element |
U8(RenderScript rs)
Utility function for returning an Element containing a single UNSIGNED_8.
|
static Element |
YUV(RenderScript rs) |
public int getBytesSize()
public int getVectorSize()
public boolean isComplex()
public int getSubElementCount()
public Element getSubElement(int index)
index
- index of the sub-element to returnpublic String getSubElementName(int index)
index
- index of the sub-elementpublic int getSubElementArraySize(int index)
index
- index of the sub-elementpublic int getSubElementOffsetBytes(int index)
index
- index of the sub-elementpublic Element.DataType getDataType()
public Element.DataKind getDataKind()
public static Element BOOLEAN(RenderScript rs)
rs
- Context to which the element will belong.public static Element U8(RenderScript rs)
rs
- Context to which the element will belong.public static Element I8(RenderScript rs)
rs
- Context to which the element will belong.public static Element U16(RenderScript rs)
public static Element I16(RenderScript rs)
public static Element U32(RenderScript rs)
public static Element I32(RenderScript rs)
public static Element U64(RenderScript rs)
public static Element I64(RenderScript rs)
public static Element F16(RenderScript rs)
public static Element F32(RenderScript rs)
public static Element F64(RenderScript rs)
public static Element ELEMENT(RenderScript rs)
public static Element TYPE(RenderScript rs)
public static Element ALLOCATION(RenderScript rs)
public static Element SAMPLER(RenderScript rs)
public static Element SCRIPT(RenderScript rs)
public static Element MESH(RenderScript rs)
public static Element PROGRAM_FRAGMENT(RenderScript rs)
public static Element PROGRAM_VERTEX(RenderScript rs)
public static Element PROGRAM_RASTER(RenderScript rs)
public static Element PROGRAM_STORE(RenderScript rs)
public static Element FONT(RenderScript rs)
public static Element A_8(RenderScript rs)
public static Element RGB_565(RenderScript rs)
public static Element RGB_888(RenderScript rs)
public static Element RGBA_5551(RenderScript rs)
public static Element RGBA_4444(RenderScript rs)
public static Element RGBA_8888(RenderScript rs)
public static Element F16_2(RenderScript rs)
public static Element F16_3(RenderScript rs)
public static Element F16_4(RenderScript rs)
public static Element F32_2(RenderScript rs)
public static Element F32_3(RenderScript rs)
public static Element F32_4(RenderScript rs)
public static Element F64_2(RenderScript rs)
public static Element F64_3(RenderScript rs)
public static Element F64_4(RenderScript rs)
public static Element U8_2(RenderScript rs)
public static Element U8_3(RenderScript rs)
public static Element U8_4(RenderScript rs)
public static Element I8_2(RenderScript rs)
public static Element I8_3(RenderScript rs)
public static Element I8_4(RenderScript rs)
public static Element U16_2(RenderScript rs)
public static Element U16_3(RenderScript rs)
public static Element U16_4(RenderScript rs)
public static Element I16_2(RenderScript rs)
public static Element I16_3(RenderScript rs)
public static Element I16_4(RenderScript rs)
public static Element U32_2(RenderScript rs)
public static Element U32_3(RenderScript rs)
public static Element U32_4(RenderScript rs)
public static Element I32_2(RenderScript rs)
public static Element I32_3(RenderScript rs)
public static Element I32_4(RenderScript rs)
public static Element U64_2(RenderScript rs)
public static Element U64_3(RenderScript rs)
public static Element U64_4(RenderScript rs)
public static Element I64_2(RenderScript rs)
public static Element I64_3(RenderScript rs)
public static Element I64_4(RenderScript rs)
public static Element YUV(RenderScript rs)
public static Element MATRIX_4X4(RenderScript rs)
public static Element MATRIX4X4(RenderScript rs)
public static Element MATRIX_3X3(RenderScript rs)
public static Element MATRIX_2X2(RenderScript rs)
public static Element createVector(RenderScript rs, Element.DataType dt, int size)
rs
- The context associated with the new Element.dt
- The DataType for the new Element.size
- Vector size for the new Element. Range 2-4 inclusive
supported.public static Element createPixel(RenderScript rs, Element.DataType dt, Element.DataKind dk)
rs
- The context associated with the new Element.dt
- The DataType for the new element.dk
- The DataKind to specify the mapping of each component in the
DataType.public boolean isCompatible(Element e)
e
- The Element to check compatibility with.