Android Open Source - fun-gl Matrix4






From Project

Back to project page fun-gl.

License

The source code is released under:

Apache License

If you think the Android project fun-gl listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.jcxavier.android.opengl.math;
/*w  w  w  .  j av  a  2s.  c om*/
import android.opengl.Matrix;

/**
 * Created on 11/03/2014.
 *
 * @author Joo Xavier <jcxavier@jcxavier.com>
 */
public final class Matrix4 {

    private static final float[] TMP_MATRIX = new float[16];

    public final float[] m;

    public Matrix4() {
        m = new float[16];
        Matrix.setIdentityM(m, 0);
    }

    public void set(final Matrix4 matrix) {
        System.arraycopy(matrix.m, 0, m, 0, 16);
    }

    public Matrix4 copy() {
        Matrix4 copyMatrix = new Matrix4();
        copyMatrix.set(this);
        return copyMatrix;
    }

    public void setIdentity() {
        Matrix.setIdentityM(m, 0);
    }

    public void translate(final Vector3 pos) {
        Matrix.translateM(m, 0, pos.x, pos.y, pos.z);
    }

    public void scale(final Vector3 scale) {
        Matrix.scaleM(m, 0, scale.x, scale.y, scale.z);
    }

    public void multiply(final Matrix4 matrix) {
        Matrix.multiplyMM(TMP_MATRIX, 0, m, 0, matrix.m, 0);
        System.arraycopy(TMP_MATRIX, 0, m, 0, 16);
    }

    /**
     * Rotates the matrix around the x axis.
     *
     * @param degrees the rotation to apply, in degrees
     */
    public void rotateX(final float degrees) {
        Matrix.rotateM(m, 0, degrees, 1, 0, 0);
    }

    /**
     * Rotates the matrix around the y axis.
     *
     * @param degrees the rotation to apply, in degrees
     */
    public void rotateY(final float degrees) {
        Matrix.rotateM(m, 0, degrees, 0, 1, 0);
    }

    /**
     * Rotates the matrix around the z axis.
     *
     * @param degrees the rotation to apply, in degrees
     */
    public void rotateZ(final float degrees) {
        Matrix.rotateM(m, 0, degrees, 0, 0, 1);
    }

}




Java Source Code List

com.jcxavier.android.opengl.engine.BitmapConfigHelper.java
com.jcxavier.android.opengl.engine.EngineActivity.java
com.jcxavier.android.opengl.engine.EngineRenderer.java
com.jcxavier.android.opengl.engine.EngineView.java
com.jcxavier.android.opengl.engine.RendererOptions.java
com.jcxavier.android.opengl.engine.cache.GLState.java
com.jcxavier.android.opengl.engine.gdx.GdxEglConfigChooser.java
com.jcxavier.android.opengl.engine.shader.ColorShader.java
com.jcxavier.android.opengl.engine.shader.ShaderManager.java
com.jcxavier.android.opengl.engine.shader.Shader.java
com.jcxavier.android.opengl.engine.shader.TextureShader.java
com.jcxavier.android.opengl.engine.texture.TextureFilteringMode.java
com.jcxavier.android.opengl.engine.texture.TextureManager.java
com.jcxavier.android.opengl.engine.texture.TextureWrap.java
com.jcxavier.android.opengl.engine.texture.Texture.java
com.jcxavier.android.opengl.engine.type.RotationMode.java
com.jcxavier.android.opengl.file.FileManager.java
com.jcxavier.android.opengl.game.GameStage.java
com.jcxavier.android.opengl.game.SimpleGameStage.java
com.jcxavier.android.opengl.game.camera.Camera.java
com.jcxavier.android.opengl.game.camera.DefaultCamera.java
com.jcxavier.android.opengl.game.camera.OrthographicCamera.java
com.jcxavier.android.opengl.game.manager.GameManager.java
com.jcxavier.android.opengl.game.manager.ScreenManager.java
com.jcxavier.android.opengl.game.manager.input.InputHandler.java
com.jcxavier.android.opengl.game.manager.input.InputManager.java
com.jcxavier.android.opengl.game.object.DrawableObject.java
com.jcxavier.android.opengl.game.object.GameObject.java
com.jcxavier.android.opengl.game.object.Sprite.java
com.jcxavier.android.opengl.game.type.Resizeable.java
com.jcxavier.android.opengl.game.type.Touchable.java
com.jcxavier.android.opengl.game.type.Transformable.java
com.jcxavier.android.opengl.game.type.Updateable.java
com.jcxavier.android.opengl.math.IVector.java
com.jcxavier.android.opengl.math.Matrix4.java
com.jcxavier.android.opengl.math.Vector2.java
com.jcxavier.android.opengl.math.Vector3.java
com.jcxavier.android.opengl.math.Vector4.java
com.jcxavier.android.opengl.sample.GameActivity.java
com.jcxavier.android.opengl.sample.TestStage.java
com.jcxavier.android.opengl.util.BitmapUtils.java
com.jcxavier.android.opengl.util.Constants.java
com.jcxavier.android.opengl.util.ReflectionUtils.java
com.jcxavier.android.opengl.util.WeakList.java
com.sample.clean.TestActivity.java
com.sample.clean.TestStage.java