to top
Android APIs
public class

Matrix4f

extends Object
java.lang.Object
   ↳ android.support.v8.renderscript.Matrix4f

Class Overview

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
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public Matrix4f ()

Creates a new identity 4x4 matrix

public Matrix4f (float[] dataArray)

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

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

Public Methods

public float get (int x, int y)

Returns the value for a given row and column

Parameters
x column of the value to return
y row of the value to return
Returns
  • value in the yth row and xth column

public float[] getArray ()

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

Returns
  • internal array representing the matrix

public boolean inverse ()

Sets the current matrix to its inverse

public boolean inverseTranspose ()

Sets the current matrix to its inverse transpose

public void load (Matrix4f src)

Sets the values of the matrix to those of the parameter

Parameters
src matrix to load the values from

public 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 location of the left vertical clipping plane
r location of the right vertical clipping plane
b location of the bottom horizontal clipping plane
t location of the top horizontal clipping plane
n location of the near clipping plane, must be positive
f location of the far clipping plane, must be positive

public void loadIdentity ()

Sets the matrix values to identity

public void loadMultiply (Matrix4f lhs, Matrix4f rhs)

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

Parameters
lhs left hand side matrix
rhs right hand side matrix

public 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 location of the left vertical clipping plane
r location of the right vertical clipping plane
b location of the bottom horizontal clipping plane
t location of the top horizontal clipping plane
n location of the near clipping plane
f location of the far clipping plane

public 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 location of the right vertical clipping plane
h location of the bottom horizontal clipping plane

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

Sets current values to be a perspective projection matrix

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

public 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 screen width
h screen height

public 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 angle of rotation
x rotation axis x
y rotation axis y
z rotation axis z

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

Sets current values to be a scale matrix of given dimensions

Parameters
x scale component x
y scale component y
z scale component z

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

Sets current values to be a translation matrix of given dimensions

Parameters
x translation component x
y translation component y
z translation component z

public void multiply (Matrix4f rhs)

Post-multiplies the current matrix by a given parameter

Parameters
rhs right hand side to multiply by

public 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 angle of rotation
x rotation axis x
y rotation axis y
z rotation axis z

public 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 scale component x
y scale component y
z scale component z

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

Sets the value for a given row and column

Parameters
x column of the value to set
y row of the value to set

public 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 translation component x
y translation component y
z translation component z

public void transpose ()

Sets the current matrix to its transpose