diff --git a/src/main/java/Main.java b/src/main/java/Main.java index 40164fd..c5a564a 100644 --- a/src/main/java/Main.java +++ b/src/main/java/Main.java @@ -2,6 +2,8 @@ import org.lwjgl.opengl.*; import org.lwjgl.Version; +import views.PlayerRenderer; + import static org.lwjgl.glfw.Callbacks.*; import static org.lwjgl.glfw.GLFW.*; @@ -12,6 +14,7 @@ // The window handle private long window; + private PlayerRenderer playerRenderer; public void run() { @@ -47,8 +50,8 @@ glfwWindowHint(GLFW_VISIBLE, GL_FALSE); // the window will stay hidden after creation glfwWindowHint(GLFW_RESIZABLE, GL_TRUE); // the window will be resizable - int WIDTH = 300; - int HEIGHT = 300; + int WIDTH = 1280; + int HEIGHT = 960; // Create the window window = glfwCreateWindow(WIDTH, HEIGHT, "JumpGame!", NULL, NULL); @@ -77,6 +80,9 @@ // Enable v-sync glfwSwapInterval(1); + + playerRenderer = new PlayerRenderer(window); + // Make the window visible glfwShowWindow(window); } @@ -89,6 +95,8 @@ // bindings available for use. GL.createCapabilities(); + playerRenderer.display(); + // Set the clear color glClearColor(0.0f, 0.0f, 0.0f, 0.0f); diff --git a/src/main/java/entity/Vec2.java b/src/main/java/entity/Vec2.java new file mode 100644 index 0000000..5c893f3 --- /dev/null +++ b/src/main/java/entity/Vec2.java @@ -0,0 +1,22 @@ +package entity; + +//--------------------------------------------------------------- +public class Vec2 extends Pair { + + //--------------------------------------------------------------- + //--------------------------------------------------------------- + public Vec2(double x, double y) { + super(x, y); + } + + //--------------------------------------------------------------- + //--------------------------------------------------------------- + public Double getX() { + return this.getFirst(); + } + + public Double getY() { + return this.getSecond(); + } + //--------------------------------------------------------------- +} diff --git a/src/main/java/models/PlayerModel.java b/src/main/java/models/PlayerModel.java new file mode 100644 index 0000000..7ba8b3c --- /dev/null +++ b/src/main/java/models/PlayerModel.java @@ -0,0 +1,4 @@ +package models; + +public class PlayerModel { +} diff --git a/src/main/java/views/IView.java b/src/main/java/views/IView.java new file mode 100644 index 0000000..1b893e9 --- /dev/null +++ b/src/main/java/views/IView.java @@ -0,0 +1,5 @@ +package views; + +public interface IView { + void display(); +} diff --git a/src/main/java/views/PlayerRenderer.java b/src/main/java/views/PlayerRenderer.java new file mode 100644 index 0000000..2899af6 --- /dev/null +++ b/src/main/java/views/PlayerRenderer.java @@ -0,0 +1,27 @@ +package views; + +import static org.lwjgl.glfw.GLFW.glfwMakeContextCurrent; +import static org.lwjgl.opengl.GL11.*; +import static org.lwjgl.opengl.GL11C.glEnable; + +public class PlayerRenderer implements IView { + private long window; + + + public PlayerRenderer(long window) { + this.window = window; + } + + public void display() { + glfwMakeContextCurrent(window); + glEnable(GL_TEXTURE_2D); + glBegin(GL_QUADS); + glVertex2f(-0.5f, 0.5f); + glVertex2f(0.5f, 0.5f); + glVertex2f(0.5f, -0.5f); + glVertex2f(-0.5f, -0.5f); + glClearColor(1.0f, 1.0f, 1.0f, 1.0f); + glEnd(); + glDisable(GL_TEXTURE_2D); + } +}