package toolbox; import org.atriaSoft.etk.math.Matrix4f; import org.atriaSoft.etk.math.Vector3f; import entities.Camera; public class Maths { public static Matrix4f createTransformationMatrix(Vector3f translation, Vector3f rotation, float scale) { // Need to rework all of this this is really not optimum ... Matrix4f matrix = new Matrix4f(); matrix.setIdentity(); matrix.translate(translation); matrix.rotate(new Vector3f(1,0,0), rotation.x); matrix.rotate(new Vector3f(0,1,0), rotation.y); matrix.rotate(new Vector3f(0,0,1), rotation.z); matrix.scale(scale); return matrix; } public static Matrix4f createViewMatrix(Camera camera) { // Need to rework all of this this is really not optimum ... Matrix4f matrix = new Matrix4f(); matrix.setIdentity(); matrix.rotate(new Vector3f(1,0,0), camera.getPitch()); matrix.rotate(new Vector3f(0,1,0), camera.getYaw()); //matrix.rotate(new Vector3f(0,0,1), camera.getRoll()); Vector3f camarePos = camera.getPosition(); matrix.translate(new Vector3f(-camarePos.x,-camarePos.y,-camarePos.z)); return matrix; } }