[JAVA] Cara Install LWJGL 3 Di IntelliJ IDEA


#1

Light Weight Java Gaming Library (LJWGL) adalah pustaka dari bahasa pemrograman Java yang open source untuk membuat game berbasis Java seperti game yang populer saat ini yaitu Minecraft.

Minecraft sendiri menggunakan LWJGL sebagai enginenya. Mulai dari rendering sampai penghasilan suara, yang dimana menggunakan OpenGL dan juga OpenAL.

Untuk menginstall LWJGL bisa saja di install di salah satu IDE lainnya seperti Eclipse atau NetBeans namun kali ini saya akan kasih tutorial bagaimana caranya Install LWJGL di Intellij IDEA yang merupakan salah satu IDE untuk bahasa pemrograman Java.

Sebelum memulai, kamu harus terlebih dahulu mengunduh library LWJGL terlebih dahulu dan sekarang yang akan kita gunakan untuk menginstall LWJGL tersebut adalah LWJGL versi 3 untuk mendownload library tersebut silahkan download di: https://www.lwjgl.org/download

Mulai Menginstall LWJGL

Setelah kamu mendownload library tersebut, ekstrak file tadi ke dalam folder lalu buka IntelliJ IDEA

  1. Buat New Project
    Buka Software IntelliJ IDEA bisanaya akan muncul windows New Project, nah disini masukan nama projek yang ingin kalian gunakan lalu klik Finish

  1. Setelah kalian selesai membuat Projek dan telah masuk ke IDE, tekan Ctrl + Shift + S atau klik File -> Project Structure…

  1. Di Project Structure klik Libraries lalu klik tombol plus hijau (New Project Library) seperti gambar dibawah lalu klik Java
  2. Arahkan ke folder LWJGL yang telah kamu ekstrak tadi lalu cari file yang berektensi .jar

    Untuk versi terbaru Ada beberapa folder setelah anda mengektrak library seperti lwjgl core, opengl, dan openal. yang sering digunakan adalah LWJGL itu sendiri dan OpenGL maka kalian harus memasukan satu persatu kedalam library

  1. Masukan file-file natives kedalam Library, caranya adalah lakukan hal yang sama seperti diatas namun arahkan ke folder yang didalamnya berektensi file .dll seperti gambar dibawah
  2. Pastikan Instalasi di Project Structure seperti gambar dibawah lalu klik OK

Mulai membuat game/aplikasi menggunakan Library LWJGL

Nah installasi telah selesai yang harus kita lakukan adalah mengetes terlebih dahulu apakah LWJGL telah terinstall dengan benar, untuk melakukannya buat class baru seperti gambar dibawah

Setelah itu coba pastekan kode ini pada code editor anda dengan nama file HelloWorld.java

import org.lwjgl.*;
import org.lwjgl.glfw.*;
import org.lwjgl.opengl.*;
import static org.lwjgl.glfw.GLFW.*;
import static org.lwjgl.opengl.GL11.*;
import static org.lwjgl.system.MemoryUtil.*;
public class HelloWorld {
    // We need to strongly reference callback instances.
    private GLFWErrorCallback errorCallback;
    private GLFWKeyCallback   keyCallback;
    // The window handle
    private long window;
    public void run() {
        System.out.println("Hello LWJGL " + Version.getVersion() + "!");
        try {
            init();
            loop();
            // Release window and window callbacks
            glfwDestroyWindow(window);
            keyCallback.release();
        } finally {
            // Terminate GLFW and release the GLFWErrorCallback
            glfwTerminate();
            errorCallback.release();
        }
    }
    private void init() {
        // Setup an error callback. The default implementation
        // will print the error message in System.err.
        glfwSetErrorCallback(errorCallback = GLFWErrorCallback.createPrint(System.err));
        // Initialize GLFW. Most GLFW functions will not work before doing this.
        if ( glfwInit() != GLFW_TRUE )
            throw new IllegalStateException("Unable to initialize GLFW");
        // Configure our window
        glfwDefaultWindowHints(); // optional, the current window hints are already the default
        glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE); // the window will stay hidden after creation
        glfwWindowHint(GLFW_RESIZABLE, GLFW_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, keyCallback = new GLFWKeyCallback() {
            @Override
            public void invoke(long window, int key, int scancode, int action, int mods) {
                if ( key == GLFW_KEY_ESCAPE && action == GLFW_RELEASE )
                    glfwSetWindowShouldClose(window, GLFW_TRUE); // We will detect this in our 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 GLCapabilities 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) == GLFW_FALSE ) {
            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 HelloWorld().run();
    }
} // source code from https://www.lwjgl.org/guide

Setelah itu click Run maka akan keluar Windows dengan latar merah seperti dibawah, ini berarti LWJGL sudah terinstall dengan benar di Intellij IDEA