From 24104fedf58fe88a791a7a2dc273c9ea8deab6b6 Mon Sep 17 00:00:00 2001 From: Persson-dev Date: Sat, 26 Apr 2025 12:23:14 +0200 Subject: [PATCH] fix pieces rotation --- app/src/main/java/chess/view/DDDrender/Renderer.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/chess/view/DDDrender/Renderer.java b/app/src/main/java/chess/view/DDDrender/Renderer.java index 084fac3..2ef392b 100644 --- a/app/src/main/java/chess/view/DDDrender/Renderer.java +++ b/app/src/main/java/chess/view/DDDrender/Renderer.java @@ -1,8 +1,6 @@ package chess.view.DDDrender; -import static org.lwjgl.opengl.GL11.GL_DEPTH_TEST; import static org.lwjgl.opengl.GL11.GL_UNSIGNED_INT; -import static org.lwjgl.opengl.GL11.glEnable; import java.io.IOException; @@ -11,6 +9,7 @@ import org.joml.Vector2f; import org.joml.Vector3f; import org.lwjgl.opengl.GL30; +import chess.model.Color; import chess.model.Coordinate; import chess.model.Piece; import chess.view.DDDrender.shader.BoardShader; @@ -35,11 +34,10 @@ public class Renderer { this.boardVao = BoardModelLoader.GetBoardModel(); } - public void RenderPiece(Piece piece, Coordinate pos) { try { DDDModel pieceModel = this.models.getModel(piece); - Render(pieceModel, DDDPlacement.coordinates_to_vector(pos)); + Render(pieceModel, DDDPlacement.coordinates_to_vector(pos), piece.getColor() == Color.White ? 0.0f : 3.14f); } catch (IOException e) { e.printStackTrace(); } @@ -53,10 +51,10 @@ public class Renderer { RenderVao(this.boardShader, this.boardVao); } - public void Render(DDDModel model, Vector2f position) { + public void Render(DDDModel model, Vector2f position, float rotation) { Vector3f realPos = new Vector3f(position.x(), 0, position.y()); this.pieceShader.Start(); - this.pieceShader.setModelTransform(new Matrix4f().translate(realPos)); + this.pieceShader.setModelTransform(new Matrix4f().translate(realPos).rotate(rotation, new Vector3f(0, 1, 0))); Render(model); }