Skip to content

Most visited

Recently visited

navigation

Matrix4f

public class Matrix4f
extends Object

java.lang.Object
   ↳ android.renderscript.Matrix4f


Class for exposing the native RenderScript rs_matrix4x4 type back to the Android system.

Summary

Public constructors

Matrix4f()

Creates a new identity 4x4 matrix

Matrix4f(float[] dataArray)

Creates a new matrix and sets its values from the given parameter

Public methods

float get(int x, int y)

Returns the value for a given row and column

float[] getArray()

Return a reference to the internal array representing matrix values.

boolean inverse()

Sets the current matrix to its inverse

boolean inverseTranspose()

Sets the current matrix to its inverse transpose

void load(Matrix4f src)

Sets the values of the matrix to those of the parameter

void loadFrustum(float l, float r, float b, float t, float n, float f)

Sets current values to be a perspective projection matrix

void loadIdentity()

Sets the matrix values to identity

void loadMultiply(Matrix4f lhs, Matrix4f rhs)

Sets current values to be the result of multiplying two given matrices

void loadOrtho(float l, float r, float b, float t, float n, float f)

Set current values to be an orthographic projection matrix

void loadOrthoWindow(int w, int h)

Set current values to be an orthographic projection matrix with the right and bottom clipping planes set to the given values.

void loadPerspective(float fovy, float aspect, float near, float far)

Sets current values to be a perspective projection matrix

void loadProjectionNormalized(int w, int h)

Helper function to set the current values to a perspective projection matrix with aspect ratio defined by the parameters and (near, far), (bottom, top) mapping to (-1, 1) at z = 0

void loadRotate(float rot, float x, float y, float z)

Sets current values to be a rotation matrix of certain angle about a given axis

void loadScale(float x, float y, float z)

Sets current values to be a scale matrix of given dimensions

void loadTranslate(float x, float y, float z)

Sets current values to be a translation matrix of given dimensions

void multiply(Matrix4f rhs)

Post-multiplies the current matrix by a given parameter

void rotate(float rot, float x, float y, float z)

Modifies the current matrix by post-multiplying it with a rotation matrix of certain angle about a given axis

void scale(float x, float y, float z)

Modifies the current matrix by post-multiplying it with a scale matrix of given dimensions

void set(int x, int y, float v)

Sets the value for a given row and column

void translate(float x, float y, float z)

Modifies the current matrix by post-multiplying it with a translation matrix of given dimensions

void transpose()

Sets the current matrix to its transpose

Inherited methods

From class java.lang.Object

Public constructors

Matrix4f

Added in API level 11
Matrix4f ()

Creates a new identity 4x4 matrix

Matrix4f

Added in API level 11
Matrix4f (float[] dataArray)

Creates a new matrix and sets its values from the given parameter

Parameters
dataArray float: values to set the matrix to, must be 16 floats long

Public methods

get

Added in API level 11
float get (int x, 
                int y)

Returns the value for a given row and column

Parameters
x int: column of the value to return
y int: row of the value to return
Returns
float value in the yth row and xth column

getArray

Added in API level 11
float[] getArray ()

Return a reference to the internal array representing matrix values. Modifying this array will also change the matrix

Returns
float[] internal array representing the matrix

inverse

Added in API level 11
boolean inverse ()

Sets the current matrix to its inverse

Returns
boolean

inverseTranspose

Added in API level 11
boolean inverseTranspose ()

Sets the current matrix to its inverse transpose

Returns
boolean

load

Added in API level 11
void load (Matrix4f src)

Sets the values of the matrix to those of the parameter

Parameters
src Matrix4f: matrix to load the values from

loadFrustum

Added in API level 11
void loadFrustum (float l, 
                float r, 
                float b, 
                float t, 
                float n, 
                float f)

Sets current values to be a perspective projection matrix

Parameters
l float: location of the left vertical clipping plane
r float: location of the right vertical clipping plane
b float: location of the bottom horizontal clipping plane
t float: location of the top horizontal clipping plane
n float: location of the near clipping plane, must be positive
f float: location of the far clipping plane, must be positive

loadIdentity

Added in API level 11
void loadIdentity ()

Sets the matrix values to identity

loadMultiply

Added in API level 11
void loadMultiply (Matrix4f lhs, 
                Matrix4f rhs)

Sets current values to be the result of multiplying two given matrices

Parameters
lhs Matrix4f: left hand side matrix
rhs Matrix4f: right hand side matrix

loadOrtho

Added in API level 11
void loadOrtho (float l, 
                float r, 
                float b, 
                float t, 
                float n, 
                float f)

Set current values to be an orthographic projection matrix

Parameters
l float: location of the left vertical clipping plane
r float: location of the right vertical clipping plane
b float: location of the bottom horizontal clipping plane
t float: location of the top horizontal clipping plane
n float: location of the near clipping plane
f float: location of the far clipping plane

loadOrthoWindow

Added in API level 11
void loadOrthoWindow (int w, 
                int h)

Set current values to be an orthographic projection matrix with the right and bottom clipping planes set to the given values. Left and top clipping planes are set to 0. Near and far are set to -1, 1 respectively

Parameters
w int: location of the right vertical clipping plane
h int: location of the bottom horizontal clipping plane

loadPerspective

Added in API level 11
void loadPerspective (float fovy, 
                float aspect, 
                float near, 
                float far)

Sets current values to be a perspective projection matrix

Parameters
fovy float: vertical field of view angle in degrees
aspect float: aspect ratio of the screen
near float: near cliping plane, must be positive
far float: far clipping plane, must be positive

loadProjectionNormalized

Added in API level 11
void loadProjectionNormalized (int w, 
                int h)

Helper function to set the current values to a perspective projection matrix with aspect ratio defined by the parameters and (near, far), (bottom, top) mapping to (-1, 1) at z = 0

Parameters
w int: screen width
h int: screen height

loadRotate

Added in API level 11
void loadRotate (float rot, 
                float x, 
                float y, 
                float z)

Sets current values to be a rotation matrix of certain angle about a given axis

Parameters
rot float: angle of rotation
x float: rotation axis x
y float: rotation axis y
z float: rotation axis z

loadScale

Added in API level 11
void loadScale (float x, 
                float y, 
                float z)

Sets current values to be a scale matrix of given dimensions

Parameters
x float: scale component x
y float: scale component y
z float: scale component z

loadTranslate

Added in API level 11
void loadTranslate (float x, 
                float y, 
                float z)

Sets current values to be a translation matrix of given dimensions

Parameters
x float: translation component x
y float: translation component y
z float: translation component z

multiply

Added in API level 11
void multiply (Matrix4f rhs)

Post-multiplies the current matrix by a given parameter

Parameters
rhs Matrix4f: right hand side to multiply by

rotate

Added in API level 11
void rotate (float rot, 
                float x, 
                float y, 
                float z)

Modifies the current matrix by post-multiplying it with a rotation matrix of certain angle about a given axis

Parameters
rot float: angle of rotation
x float: rotation axis x
y float: rotation axis y
z float: rotation axis z

scale

Added in API level 11
void scale (float x, 
                float y, 
                float z)

Modifies the current matrix by post-multiplying it with a scale matrix of given dimensions

Parameters
x float: scale component x
y float: scale component y
z float: scale component z

set

Added in API level 11
void set (int x, 
                int y, 
                float v)

Sets the value for a given row and column

Parameters
x int: column of the value to set
y int: row of the value to set
v float

translate

Added in API level 11
void translate (float x, 
                float y, 
                float z)

Modifies the current matrix by post-multiplying it with a translation matrix of given dimensions

Parameters
x float: translation component x
y float: translation component y
z float: translation component z

transpose

Added in API level 11
void transpose ()

Sets the current matrix to its transpose

This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.