fix pieces rotation

This commit is contained in:
2025-04-26 12:23:14 +02:00
parent 5b6fce11bc
commit 24104fedf5

View File

@@ -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);
}