diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..c10a6f7 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..b26911b --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_joml_joml_1_9_24.xml b/.idea/libraries/Maven__org_joml_joml_1_9_24.xml new file mode 100644 index 0000000..6f5840d --- /dev/null +++ b/.idea/libraries/Maven__org_joml_joml_1_9_24.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_lwjgl_lwjgl_3_2_3.xml b/.idea/libraries/Maven__org_lwjgl_lwjgl_3_2_3.xml new file mode 100644 index 0000000..d151ac8 --- /dev/null +++ b/.idea/libraries/Maven__org_lwjgl_lwjgl_3_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_lwjgl_lwjgl_assimp_3_2_3.xml b/.idea/libraries/Maven__org_lwjgl_lwjgl_assimp_3_2_3.xml new file mode 100644 index 0000000..64acbdf --- /dev/null +++ b/.idea/libraries/Maven__org_lwjgl_lwjgl_assimp_3_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_lwjgl_lwjgl_assimp_natives_windows_3_2_3.xml b/.idea/libraries/Maven__org_lwjgl_lwjgl_assimp_natives_windows_3_2_3.xml new file mode 100644 index 0000000..a4e7d4f --- /dev/null +++ b/.idea/libraries/Maven__org_lwjgl_lwjgl_assimp_natives_windows_3_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_lwjgl_lwjgl_glfw_3_2_3.xml b/.idea/libraries/Maven__org_lwjgl_lwjgl_glfw_3_2_3.xml new file mode 100644 index 0000000..a0c9717 --- /dev/null +++ b/.idea/libraries/Maven__org_lwjgl_lwjgl_glfw_3_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_lwjgl_lwjgl_glfw_natives_windows_3_2_3.xml b/.idea/libraries/Maven__org_lwjgl_lwjgl_glfw_natives_windows_3_2_3.xml new file mode 100644 index 0000000..3b5ec8f --- /dev/null +++ b/.idea/libraries/Maven__org_lwjgl_lwjgl_glfw_natives_windows_3_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_lwjgl_lwjgl_natives_windows_3_2_3.xml b/.idea/libraries/Maven__org_lwjgl_lwjgl_natives_windows_3_2_3.xml new file mode 100644 index 0000000..8c47f48 --- /dev/null +++ b/.idea/libraries/Maven__org_lwjgl_lwjgl_natives_windows_3_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_lwjgl_lwjgl_openal_3_2_3.xml b/.idea/libraries/Maven__org_lwjgl_lwjgl_openal_3_2_3.xml new file mode 100644 index 0000000..16cafc0 --- /dev/null +++ b/.idea/libraries/Maven__org_lwjgl_lwjgl_openal_3_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_lwjgl_lwjgl_openal_natives_windows_3_2_3.xml b/.idea/libraries/Maven__org_lwjgl_lwjgl_openal_natives_windows_3_2_3.xml new file mode 100644 index 0000000..567dc3a --- /dev/null +++ b/.idea/libraries/Maven__org_lwjgl_lwjgl_openal_natives_windows_3_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_lwjgl_lwjgl_opengl_3_2_3.xml b/.idea/libraries/Maven__org_lwjgl_lwjgl_opengl_3_2_3.xml new file mode 100644 index 0000000..c07061e --- /dev/null +++ b/.idea/libraries/Maven__org_lwjgl_lwjgl_opengl_3_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_lwjgl_lwjgl_opengl_natives_windows_3_2_3.xml b/.idea/libraries/Maven__org_lwjgl_lwjgl_opengl_natives_windows_3_2_3.xml new file mode 100644 index 0000000..4cd60f7 --- /dev/null +++ b/.idea/libraries/Maven__org_lwjgl_lwjgl_opengl_natives_windows_3_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_lwjgl_lwjgl_stb_3_2_3.xml b/.idea/libraries/Maven__org_lwjgl_lwjgl_stb_3_2_3.xml new file mode 100644 index 0000000..679c690 --- /dev/null +++ b/.idea/libraries/Maven__org_lwjgl_lwjgl_stb_3_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_lwjgl_lwjgl_stb_natives_windows_3_2_3.xml b/.idea/libraries/Maven__org_lwjgl_lwjgl_stb_natives_windows_3_2_3.xml new file mode 100644 index 0000000..7ede507 --- /dev/null +++ b/.idea/libraries/Maven__org_lwjgl_lwjgl_stb_natives_windows_3_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..71bba8c --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..06a4dda --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..e96534f --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/jumpGame.iml b/jumpGame.iml new file mode 100644 index 0000000..13770d9 --- /dev/null +++ b/jumpGame.iml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..e461d95 --- /dev/null +++ b/pom.xml @@ -0,0 +1,105 @@ + + + 4.0.0 + + jumpGame + jumpGame + 1.0-SNAPSHOT + + + 3.2.3 + 1.9.24 + natives-windows + UTF-8 + 1.8 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 11.0 + 11.0 + + + + + + + + + org.lwjgl + lwjgl-bom + ${lwjgl.version} + import + pom + + + + + + + org.lwjgl + lwjgl + + + org.lwjgl + lwjgl-assimp + + + org.lwjgl + lwjgl-glfw + + + org.lwjgl + lwjgl-openal + + + org.lwjgl + lwjgl-opengl + + + org.lwjgl + lwjgl-stb + + + org.lwjgl + lwjgl + ${lwjgl.natives} + + + org.lwjgl + lwjgl-assimp + ${lwjgl.natives} + + + org.lwjgl + lwjgl-glfw + ${lwjgl.natives} + + + org.lwjgl + lwjgl-openal + ${lwjgl.natives} + + + org.lwjgl + lwjgl-opengl + ${lwjgl.natives} + + + org.lwjgl + lwjgl-stb + ${lwjgl.natives} + + + org.joml + joml + ${joml.version} + + + \ No newline at end of file diff --git a/src/main/java/Main.java b/src/main/java/Main.java new file mode 100644 index 0000000..c6d48d4 --- /dev/null +++ b/src/main/java/Main.java @@ -0,0 +1,110 @@ +import org.lwjgl.glfw.*; +import org.lwjgl.opengl.*; + +import org.lwjgl.Version; +import static org.lwjgl.glfw.Callbacks.*; + +import static org.lwjgl.glfw.GLFW.*; +import static org.lwjgl.opengl.GL11.*; +import static org.lwjgl.system.MemoryUtil.*; + +public class Main { + + // The window handle + private long window; + + public void run() { + System.out.println("Hello LWJGL " + Version.getVersion() + "!"); + + try { + init(); + loop(); + + // Release window and window callbacks + glfwFreeCallbacks(window); + glfwDestroyWindow(window); + } finally { + // Terminate GLFW and release the GLFWerrorfun + glfwTerminate(); + glfwSetErrorCallback(null).free(); + } + } + + private void init() { + // Setup an error callback. The default implementation + // will print the error message in System.err. + GLFWErrorCallback.createPrint(System.err).set(); + + // Initialize GLFW. Most GLFW functions will not work before doing this. + if (!glfwInit()) { + throw new IllegalStateException("Unable to initialize GLFW"); + } + + // Configure our window + glfwDefaultWindowHints(); // optional, the current window hints are already the default + 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; + + // Create the window + window = glfwCreateWindow(WIDTH, HEIGHT, "Hello World!", NULL, NULL); + if (window == NULL) { + throw new RuntimeException("Failed to create the GLFW window"); + } + + // Setup a key callback. It will be called every time a key is pressed, repeated or released. + glfwSetKeyCallback(window, (window, key, scancode, action, mods) -> { + if (key == GLFW_KEY_ESCAPE && action == GLFW_RELEASE) { + glfwSetWindowShouldClose(window, true); // We will detect this in the rendering loop + } + }); + + // Get the resolution of the primary monitor + GLFWVidMode vidmode = glfwGetVideoMode(glfwGetPrimaryMonitor()); + // Center our window + glfwSetWindowPos( + window, + (vidmode.width() - WIDTH) / 2, + (vidmode.height() - HEIGHT) / 2 + ); + + // Make the OpenGL context current + glfwMakeContextCurrent(window); + // Enable v-sync + glfwSwapInterval(1); + + // Make the window visible + glfwShowWindow(window); + } + + private void loop() { + // This line is critical for LWJGL's interoperation with GLFW's + // OpenGL context, or any context that is managed externally. + // LWJGL detects the context that is current in the current thread, + // creates the ContextCapabilities instance and makes the OpenGL + // bindings available for use. + GL.createCapabilities(); + + // Set the clear color + glClearColor(1.0f, 0.0f, 0.0f, 0.0f); + + // Run the rendering loop until the user has attempted to close + // the window or has pressed the ESCAPE key. + while (!glfwWindowShouldClose(window)) { + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // clear the framebuffer + + glfwSwapBuffers(window); // swap the color buffers + + // Poll for window events. The key callback above will only be + // invoked during this call. + glfwPollEvents(); + } + } + + public static void main(String[] args) { + new Main().run(); + } + +} \ No newline at end of file