Android Open Source - fun-gl Orthographic Camera 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.game.camera;
/ / f r o m w w w . j a v a 2 s . c o m
import android.graphics.Point;
import android.opengl.Matrix;
import com.jcxavier.android.opengl.math.Matrix4;
import com.jcxavier.android.opengl.math.Vector3;
/**
* Created on 11/03/2014.
*
* @author Joo Xavier <jcxavier@jcxavier.com>
*/
public class OrthographicCamera implements Camera {
private final Matrix4 mProjectionMatrix;
private final Matrix4 mLookAtMatrix;
private Vector3 mEye;
private Vector3 mCenter;
private Vector3 mUp;
private final Point mScreenSize;
private boolean mDirty;
/**
* Creates a simple, non-configurable ortographic camera.
*/
public OrthographicCamera() {
mProjectionMatrix = new Matrix4();
mLookAtMatrix = new Matrix4();
mEye = new Vector3(0.0f, 0.0f, 0.0f);
mCenter = new Vector3(0.0f, 0.0f, -1.0f);
mUp = new Vector3(0.0f, 1.0f, 0.0f);
mScreenSize = new Point();
mDirty = true;
}
@Override
public void updateScreenSize(final Point screenSize) {
mScreenSize.set(screenSize.x, screenSize.y);
mDirty = true;
}
@Override
public Matrix4 getProjectionMatrix() {
if (mDirty) {
Matrix.orthoM(mProjectionMatrix.m, 0, 0, mScreenSize.x, mScreenSize.y, 0, -1024, 1024);
Matrix.setLookAtM(mLookAtMatrix.m, 0, mEye.x, mEye.y, mEye.z, mCenter.x, mCenter.y, mCenter.z, mUp.x, mUp.y, mUp.z);
mProjectionMatrix.multiply(mLookAtMatrix);
mDirty = false;
}
return mProjectionMatrix;
}
public void setEye(Vector3 eye) {
mEye = eye;
mDirty = true;
}
public void setCenter(Vector3 center) {
mCenter = center;
mDirty = true;
}
public void setUp(Vector3 up) {
mUp = up;
mDirty = true;
}
}
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