And today we're going to add the lwjgl library or probably we can say "installing LWJGL" into Intellij IDEA IDE(Integrated development environment).
So for those of you who want to make games with the Java programming language, you can start by using this library. Before we start, all you have to do is of download the latest LWJGL library package from the website lwjgl website: https://www.lwjgl.org/download
Installing The Library
Once you have downloaded the library extract it into a folder then open the IDE :![]() |
| Intellij IDEA 15 |
- Create a New Project
Open the IDE and you should be prompted into a New Project window that will allow you make an Java Application project. And let's just set name of the project "LWJGL 3".
New Project - When you ready on your workspace press Ctrl+Shift+S or click File -> Project Structure...
- On the Project Structure window click Libraries then click the green plus button to create a new Project Library then click Java section

- Browse the LWJGL Folder that you had been extract then locate it to "your extracted lwjgl package folder\lwjgl\jar\lwjgl.jar" then click OK, another confirmation window should be appear, then just click OK
- Click Add button or just press Alt + Insert do the same thing like above locate to \lwjgl\native\ then click OK

Congrats...you just include the LWJGL library into your Intellij IDEA IDE, but we're not done yet we have to add some natives library to the IDE.
- The next step do the same thing above but locate to the \lwjgl\src.zip
- The next step is same, do the same thing as above but locate to the \lwjgl\doc then another windows will appear, then just click Javadoc
- When everything done like the picture below click OK
Finalization
Here you go... you has been install the LWJGL Library. Now go create a new java class you can name the class anything you want but we going to use "HelloWorld" for now

You can copy this source code to begin testing the LWJGL and to see if the LWJGL work properly
importorg.lwjgl.*;importorg.lwjgl.glfw.*;importorg.lwjgl.opengl.*;importstaticorg.lwjgl.glfw.GLFW.*;importstaticorg.lwjgl.opengl.GL11.*;importstaticorg.lwjgl.system.MemoryUtil.*;publicclassHelloWorld {// We need to strongly reference callback instances.privateGLFWErrorCallback errorCallback;privateGLFWKeyCallback keyCallback;// The window handleprivatelongwindow;publicvoidrun() {System.out.println("Hello LWJGL "+ Version.getVersion() +"!");try{init();loop();// Release window and window callbacksglfwDestroyWindow(window);keyCallback.release();}finally{// Terminate GLFW and release the GLFWErrorCallbackglfwTerminate();errorCallback.release();}}privatevoidinit() {// 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 )thrownewIllegalStateException("Unable to initialize GLFW");// Configure our windowglfwDefaultWindowHints();// optional, the current window hints are already the defaultglfwWindowHint(GLFW_VISIBLE, GLFW_FALSE);// the window will stay hidden after creationglfwWindowHint(GLFW_RESIZABLE, GLFW_TRUE);// the window will be resizableintWIDTH =300;intHEIGHT =300;// Create the windowwindow = glfwCreateWindow(WIDTH, HEIGHT,"Hello World!", NULL, NULL);if( window == NULL )thrownewRuntimeException("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 =newGLFWKeyCallback() {@Overridepublicvoidinvoke(longwindow,intkey,intscancode,intaction,intmods) {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 monitorGLFWVidMode vidmode = glfwGetVideoMode(glfwGetPrimaryMonitor());// Center our windowglfwSetWindowPos(window,(vidmode.width() - WIDTH) /2,(vidmode.height() - HEIGHT) /2);// Make the OpenGL context currentglfwMakeContextCurrent(window);// Enable v-syncglfwSwapInterval(1);// Make the window visibleglfwShowWindow(window);}privatevoidloop() {// 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 colorglClearColor(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 framebufferglfwSwapBuffers(window);// swap the color buffers// Poll for window events. The key callback above will only be// invoked during this call.glfwPollEvents();}}publicstaticvoidmain(String[] args) {newHelloWorld().run();}} // source code from https://www.lwjgl.org/guide
Press Alt+Shift+F10 or click Run -> Run... to run the program then it should working perfectly.
if you have problem or have something error when running the program please ask in the comment.



Thanks a lot! I thought I only had to add the JAR file, now I know better. 10/10
ReplyDeleteAnytime
DeleteError:(3, 1) java: package org.lwjgl does not exist
ReplyDeleteError:(3, 1) java: package org.lwjgl does not exist :s
ReplyDeleteit's probably you haven't add the lwjgl library, follow the steps carefully again.
DeleteYou did mention something about the Edit configurations to recognize native values, but you did not specify what to do.
ReplyDeleteThe source code you posted did not compile for me, since the method release() could not be resolved. Any idea what I have done wrong?
You did mention something about Edit configurations to recognize native values, but you did not specify what to do.
ReplyDeleteI have added the libraries as you described, but I cant get the code you posted to compile. The method release() can not be resolved.
Do you have any idea about what I have done wrong? Could it be something about the Edit configurations?
the native folder should be on your extracted lwjgl folder I think I will make video for that so u can follow my steps
Delete