to top
Android APIs
public class

Element

extends BaseObj
java.lang.Object
   ↳ android.renderscript.BaseObj
     ↳ android.renderscript.Element

Class Overview

The most basic data type. An element represents one cell of a memory allocation. Element is the basic data type of Renderscript. An element can be of two forms: Basic elements or Complex forms. Examples of basic elements are:

  • Single float value
  • 4 element float vector
  • single RGB-565 color
  • single unsigned int 16

Complex elements contain a list of sub-elements and names that represents a structure of data. The fields can be accessed by name from a script or shader. The memory layout is defined and ordered. Data alignment is determined by the most basic primitive type. i.e. a float4 vector will be aligned to sizeof(float) and not sizeof(float4). The ordering of elements in memory will be the order in which they were added with each component aligned as necessary. No re-ordering will be done.

The primary source of elements are from scripts. A script that exports a bind point for a data structure generates a Renderscript element to represent the data exported by the script. The other common source of elements is from bitmap formats.

Developer Guides

For more information about creating an application that uses Renderscript, read the Renderscript developer guide.

Summary

Nested Classes
class Element.Builder Builder class for producing complex elements with matching field and name pairs. 
enum Element.DataKind The special interpretation of the data if required. 
enum Element.DataType DataType represents the basic type information for a basic element. 
Public Methods
static Element ALLOCATION(RenderScript rs)
static Element A_8(RenderScript rs)
static Element BOOLEAN(RenderScript rs)
Utility function for returning an Element containing a single Boolean.
static Element ELEMENT(RenderScript rs)
static Element F32(RenderScript rs)
static Element F32_2(RenderScript rs)
static Element F32_3(RenderScript rs)
static Element F32_4(RenderScript rs)
static Element F64(RenderScript rs)
static Element F64_2(RenderScript rs)
static Element F64_3(RenderScript rs)
static Element F64_4(RenderScript rs)
static Element FONT(RenderScript rs)
static Element I16(RenderScript rs)
static Element I16_2(RenderScript rs)
static Element I16_3(RenderScript rs)
static Element I16_4(RenderScript rs)
static Element I32(RenderScript rs)
static Element I32_2(RenderScript rs)
static Element I32_3(RenderScript rs)
static Element I32_4(RenderScript rs)
static Element I64(RenderScript rs)
static Element I64_2(RenderScript rs)
static Element I64_3(RenderScript rs)
static Element I64_4(RenderScript rs)
static Element I8(RenderScript rs)
Utility function for returning an Element containing a single SIGNED_8.
static Element I8_2(RenderScript rs)
static Element I8_3(RenderScript rs)
static Element I8_4(RenderScript rs)
static Element MATRIX4X4(RenderScript rs)
This method was deprecated in API level 16. use MATRIX_4X4
static Element MATRIX_2X2(RenderScript rs)
static Element MATRIX_3X3(RenderScript rs)
static Element MATRIX_4X4(RenderScript rs)
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 RGBA_4444(RenderScript rs)
static Element RGBA_5551(RenderScript rs)
static Element RGBA_8888(RenderScript rs)
static Element RGB_565(RenderScript rs)
static Element RGB_888(RenderScript rs)
static Element SAMPLER(RenderScript rs)
static Element SCRIPT(RenderScript rs)
static Element TYPE(RenderScript rs)
static Element U16(RenderScript rs)
static Element U16_2(RenderScript rs)
static Element U16_3(RenderScript rs)
static Element U16_4(RenderScript rs)
static Element U32(RenderScript rs)
static Element U32_2(RenderScript rs)
static Element U32_3(RenderScript rs)
static Element U32_4(RenderScript rs)
static Element U64(RenderScript rs)
static Element U64_2(RenderScript rs)
static Element U64_3(RenderScript rs)
static Element U64_4(RenderScript rs)
static Element U8(RenderScript rs)
Utility function for returning an Element containing a single UNSIGNED_8.
static Element U8_2(RenderScript rs)
static Element U8_3(RenderScript rs)
static Element U8_4(RenderScript rs)
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.
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.
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.
[Expand]
Inherited Methods
From class android.renderscript.BaseObj
From class java.lang.Object

Public Methods

public static Element ALLOCATION (RenderScript rs)

Added in API level 11

public static Element A_8 (RenderScript rs)

Added in API level 11

public static Element BOOLEAN (RenderScript rs)

Added in API level 11

Utility function for returning an Element containing a single Boolean.

Parameters
rs Context to which the element will belong.
Returns
  • Element

public static Element ELEMENT (RenderScript rs)

Added in API level 11

public static Element F32 (RenderScript rs)

Added in API level 11

public static Element F32_2 (RenderScript rs)

Added in API level 11

public static Element F32_3 (RenderScript rs)

Added in API level 11

public static Element F32_4 (RenderScript rs)

Added in API level 11

public static Element F64 (RenderScript rs)

Added in API level 11

public static Element F64_2 (RenderScript rs)

Added in API level 14

public static Element F64_3 (RenderScript rs)

Added in API level 14

public static Element F64_4 (RenderScript rs)

Added in API level 14

public static Element FONT (RenderScript rs)

Added in API level 16

public static Element I16 (RenderScript rs)

Added in API level 11

public static Element I16_2 (RenderScript rs)

Added in API level 14

public static Element I16_3 (RenderScript rs)

Added in API level 14

public static Element I16_4 (RenderScript rs)

Added in API level 14

public static Element I32 (RenderScript rs)

Added in API level 11

public static Element I32_2 (RenderScript rs)

Added in API level 14

public static Element I32_3 (RenderScript rs)

Added in API level 14

public static Element I32_4 (RenderScript rs)

Added in API level 14

public static Element I64 (RenderScript rs)

Added in API level 11

public static Element I64_2 (RenderScript rs)

Added in API level 14

public static Element I64_3 (RenderScript rs)

Added in API level 14

public static Element I64_4 (RenderScript rs)

Added in API level 14

public static Element I8 (RenderScript rs)

Added in API level 11

Utility function for returning an Element containing a single SIGNED_8.

Parameters
rs Context to which the element will belong.
Returns
  • Element

public static Element I8_2 (RenderScript rs)

Added in API level 14

public static Element I8_3 (RenderScript rs)

Added in API level 14

public static Element I8_4 (RenderScript rs)

Added in API level 14

public static Element MATRIX4X4 (RenderScript rs)

Added in API level 11

This method was deprecated in API level 16.
use MATRIX_4X4

public static Element MATRIX_2X2 (RenderScript rs)

Added in API level 11

public static Element MATRIX_3X3 (RenderScript rs)

Added in API level 11

public static Element MATRIX_4X4 (RenderScript rs)

Added in API level 11

public static Element MESH (RenderScript rs)

Added in API level 11

public static Element PROGRAM_FRAGMENT (RenderScript rs)

Added in API level 11

public static Element PROGRAM_RASTER (RenderScript rs)

Added in API level 11

public static Element PROGRAM_STORE (RenderScript rs)

Added in API level 11

public static Element PROGRAM_VERTEX (RenderScript rs)

Added in API level 11

public static Element RGBA_4444 (RenderScript rs)

Added in API level 11

public static Element RGBA_5551 (RenderScript rs)

Added in API level 11

public static Element RGBA_8888 (RenderScript rs)

Added in API level 11

public static Element RGB_565 (RenderScript rs)

Added in API level 11

public static Element RGB_888 (RenderScript rs)

Added in API level 11

public static Element SAMPLER (RenderScript rs)

Added in API level 11

public static Element SCRIPT (RenderScript rs)

Added in API level 11

public static Element TYPE (RenderScript rs)

Added in API level 11

public static Element U16 (RenderScript rs)

Added in API level 11

public static Element U16_2 (RenderScript rs)

Added in API level 14

public static Element U16_3 (RenderScript rs)

Added in API level 14

public static Element U16_4 (RenderScript rs)

Added in API level 14

public static Element U32 (RenderScript rs)

Added in API level 11

public static Element U32_2 (RenderScript rs)

Added in API level 14

public static Element U32_3 (RenderScript rs)

Added in API level 14

public static Element U32_4 (RenderScript rs)

Added in API level 14

public static Element U64 (RenderScript rs)

Added in API level 11

public static Element U64_2 (RenderScript rs)

Added in API level 14

public static Element U64_3 (RenderScript rs)

Added in API level 14

public static Element U64_4 (RenderScript rs)

Added in API level 14

public static Element U8 (RenderScript rs)

Added in API level 11

Utility function for returning an Element containing a single UNSIGNED_8.

Parameters
rs Context to which the element will belong.
Returns
  • Element

public static Element U8_2 (RenderScript rs)

Added in API level 14

public static Element U8_3 (RenderScript rs)

Added in API level 14

public static Element U8_4 (RenderScript rs)

Added in API level 11

public static Element createPixel (RenderScript rs, Element.DataType dt, Element.DataKind dk)

Added in API level 11

Create a new pixel Element type. A matching DataType and DataKind must be provided. The DataType and DataKind must contain the same number of components. Vector size will be set to 1.

Parameters
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.
Returns
  • Element

public static Element createVector (RenderScript rs, Element.DataType dt, int size)

Added in API level 11

Create a custom vector element of the specified DataType and vector size. DataKind will be set to USER. Only primitive types (FLOAT_32, FLOAT_64, SIGNED_8, SIGNED_16, SIGNED_32, SIGNED_64, UNSIGNED_8, UNSIGNED_16, UNSIGNED_32, UNSIGNED_64, BOOLEAN) are supported.

Parameters
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.
Returns
  • Element

public int getBytesSize ()

Added in API level 16

Returns
  • element size in bytes

public Element.DataKind getDataKind ()

Added in API level 16

Returns
  • element data kind

public Element.DataType getDataType ()

Added in API level 16

Returns
  • element data type

public Element getSubElement (int index)

Added in API level 16

For complex elements, this function will return the sub-element at index

Parameters
index index of the sub-element to return
Returns
  • sub-element in this element at given index

public int getSubElementArraySize (int index)

Added in API level 16

For complex elements, some sub-elements could be statically sized arrays. This function will return the array size for sub-element at index

Parameters
index index of the sub-element
Returns
  • array size of sub-element in this element at given index

public int getSubElementCount ()

Added in API level 16

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. This function returns zero for simple elements or the number of sub-elements otherwise.

Returns
  • number of sub-elements in this element

public String getSubElementName (int index)

Added in API level 16

For complex elements, this function will return the sub-element name at index

Parameters
index index of the sub-element
Returns
  • sub-element in this element at given index

public int getSubElementOffsetBytes (int index)

Added in API level 16

This function specifies the location of a sub-element within the element

Parameters
index index of the sub-element
Returns
  • offset in bytes of sub-element in this element at given index

public int getVectorSize ()

Added in API level 16

Returns the number of vector components. 2 for float2, 4 for float4, etc.

Returns
  • element vector size

public boolean isCompatible (Element e)

Added in API level 14

Check if the current Element is compatible with another Element. Primitive Elements are compatible if they share the same underlying size and type (i.e. U8 is compatible with A_8). User-defined Elements must be equal in order to be compatible. This requires strict name equivalence for all sub-Elements (in addition to structural equivalence).

Parameters
e The Element to check compatibility with.
Returns
  • boolean true if the Elements are compatible, otherwise false.

public boolean isComplex ()

Added in API level 11

Return if a element is too complex for use as a data source for a Mesh or a Program.

Returns
  • boolean