aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
package chess.view.DDDrender;
|
||||
|
||||
import static org.lwjgl.opengl.GL11.GL_FLOAT;
|
||||
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 +12,7 @@ import org.joml.Vector3f;
|
||||
import org.lwjgl.opengl.GL30;
|
||||
|
||||
import chess.model.Coordinate;
|
||||
import chess.model.Piece;
|
||||
import chess.view.DDDrender.shader.BoardShader;
|
||||
import chess.view.DDDrender.shader.PieceShader;
|
||||
import chess.view.DDDrender.shader.ShaderProgram;
|
||||
@@ -19,7 +21,7 @@ public class Renderer {
|
||||
private BoardShader boardShader;
|
||||
private PieceShader pieceShader;
|
||||
private VertexArray vao;
|
||||
private DDDModel yoda;
|
||||
private final PieceModel models;
|
||||
|
||||
private static int BOARD_WIDTH = 8;
|
||||
private static int BOARD_HEIGHT = 8;
|
||||
@@ -29,17 +31,14 @@ public class Renderer {
|
||||
public Renderer() {
|
||||
this.boardShader = new BoardShader();
|
||||
this.pieceShader = new PieceShader();
|
||||
this.models = new PieceModel();
|
||||
}
|
||||
|
||||
public void Init() {
|
||||
boardShader.LoadShader();
|
||||
pieceShader.LoadShader();
|
||||
glEnable(GL_DEPTH_TEST);
|
||||
InitBoard();
|
||||
try {
|
||||
this.yoda = ModelLoader.loadModel("3d/king_yoda.glb");
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
private float[] GetBoardPositions() {
|
||||
@@ -126,17 +125,22 @@ public class Renderer {
|
||||
this.vao.Unbind();
|
||||
}
|
||||
|
||||
public void RenderPiece(Piece piece, Coordinate pos) {
|
||||
try {
|
||||
DDDModel pieceModel = this.models.getModel(piece);
|
||||
Render(pieceModel, DDDPlacement.coordinates_to_vector(pos));
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
public void Render(Camera cam) {
|
||||
GL30.glClear(GL30.GL_DEPTH_BUFFER_BIT);
|
||||
this.boardShader.Start();
|
||||
this.boardShader.SetCamMatrix(cam.getMatrix());
|
||||
this.pieceShader.Start();
|
||||
this.pieceShader.SetCamMatrix(cam.getMatrix());
|
||||
RenderVao(this.boardShader, vao);
|
||||
for (int i = 0; i < 8; i++) {
|
||||
for (int j = 0; j < 8; j++) {
|
||||
Render(yoda, DDDPlacement.coordinates_to_vector(new Coordinate(i, j)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Render(DDDModel model, Vector2f position) {
|
||||
|
||||
Reference in New Issue
Block a user