From 4c7e32f44b00d3e9d47e043687830a346fd545f2 Mon Sep 17 00:00:00 2001 From: Antoine Date: Mon, 17 May 2021 05:52:22 +0200 Subject: [PATCH] Added rotation on the x and y axis --- src/engine/math/Matrix4f.java | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/src/engine/math/Matrix4f.java b/src/engine/math/Matrix4f.java index 7e32c00..45fc12c 100644 --- a/src/engine/math/Matrix4f.java +++ b/src/engine/math/Matrix4f.java @@ -48,17 +48,32 @@ public class Matrix4f { return result; } - public static Matrix4f rotate(float angle){ + public static Matrix4f rotateX(float angle){ + Matrix4f result = identity(); + float r = (float) Math.toRadians(angle); + float cos = (float) Math.cos(angle); + float sin = (float) Math.sin(angle); + + result.elements[1 + 1 * 4] = cos; + result.elements[2 + 1 * 4] = -sin; + + result.elements[1 + 2 * 4] = sin; + result.elements[2 + 2 * 4] = cos; + + return result; + } + + public static Matrix4f rotateY(float angle){ Matrix4f result = identity(); float r = (float) Math.toRadians(angle); float cos = (float) Math.cos(angle); float sin = (float) Math.sin(angle); result.elements[0 + 0 * 4] = cos; - result.elements[1 + 0 * 4] = sin; + result.elements[2 + 0 * 4] = sin; - result.elements[0 + 1 * 4] = -sin; - result.elements[1 + 1 * 4] = cos; + result.elements[0 + 2 * 4] = -sin; + result.elements[2 + 2 * 4] = cos; return result; }