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
synchronized
void
|
destroy()
destroy disconnects the object from the native object effectively
rendering this java object dead.
|
boolean
|
equals(Object obj)
Compare the current BaseObj with another BaseObj for equality.
|
void
|
finalize()
Invoked when the garbage collector has detected that this instance is no longer reachable.
|
String
|
getName()
|
int
|
hashCode()
Calculates the hash code value for a BaseObj.
|
void
|
setName(String name)
setName assigns a name to an object.
|
|
From class
java.lang.Object
Object
|
clone()
Creates and returns a copy of this Object .
|
boolean
|
equals(Object o)
Compares this instance with the specified object and indicates if they
are equal.
|
void
|
finalize()
Invoked when the garbage collector has detected that this instance is no longer reachable.
|
final
Class<?>
|
getClass()
Returns the unique instance of Class that represents this
object's class.
|
int
|
hashCode()
Returns an integer hash code for this object.
|
final
void
|
notify()
Causes a thread which is waiting on this object's monitor (by means of
calling one of the wait() methods) to be woken up.
|
final
void
|
notifyAll()
Causes all threads which are waiting on this object's monitor (by means
of calling one of the wait() methods) to be woken up.
|
String
|
toString()
Returns a string containing a concise, human-readable description of this
object.
|
final
void
|
wait()
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object.
|
final
void
|
wait(long millis, int nanos)
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the
specified timeout expires.
|
final
void
|
wait(long millis)
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the
specified timeout expires.
|
|
Public Methods
Utility function for returning an Element containing a single Boolean.
Parameters
rs
| Context to which the element will belong. |
Utility function for returning an Element containing a single SIGNED_8.
Parameters
rs
| Context to which the element will belong. |
This method was deprecated
in API level 16.
use MATRIX_4X4
Utility function for returning an Element containing a single UNSIGNED_8.
Parameters
rs
| Context to which the element will belong. |
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. |
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. |
public
int
getBytesSize
()
public
Element
getSubElement
(int index)
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)
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
()
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)
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)
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
()
Returns the number of vector components. 2 for float2, 4 for
float4, etc.
public
boolean
isCompatible
(Element e)
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
()
Return if a element is too complex for use as a data source for a Mesh or
a Program.