Saltar al contenido

ejemplo de código del tutorial de lwjgl opengl

Ejemplo: cómo empezar con LWJGL 3

importorg.lwjgl.*;importorg.lwjgl.glfw.*;importorg.lwjgl.opengl.*;importorg.lwjgl.system.*;importjava.nio.*;importstaticorg.lwjgl.glfw.Callbacks.*;importstaticorg.lwjgl.glfw.GLFW.*;importstaticorg.lwjgl.opengl.GL11.*;importstaticorg.lwjgl.system.MemoryStack.*;importstaticorg.lwjgl.system.MemoryUtil.*;publicclassHelloWorld// The window handleprivatelong window;publicvoidrun()System.out.println("Hello LWJGL "+Version.getVersion()+"!");init();loop();// Free the window callbacks and destroy the windowglfwFreeCallbacks(window);glfwDestroyWindow(window);// Terminate GLFW and free the error callbackglfwTerminate();glfwSetErrorCallback(null).free();privatevoidinit()// 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())thrownewIllegalStateException("Unable to initialize GLFW");// Configure GLFWglfwDefaultWindowHints();// 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 resizable// Create the window
		window =glfwCreateWindow(300,300,"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,(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 thread stack and push a new frametry(MemoryStack stack =stackPush())IntBuffer pWidth = stack.mallocInt(1);// int*IntBuffer pHeight = stack.mallocInt(1);// int*// Get the window size passed to glfwCreateWindowglfwGetWindowSize(window, pWidth, pHeight);// Get the resolution of the primary monitorGLFWVidMode vidmode =glfwGetVideoMode(glfwGetPrimaryMonitor());// Center the windowglfwSetWindowPos(
				window,(vidmode.width()- pWidth.get(0))/2,(vidmode.height()- pHeight.get(0))/2);// the stack frame is popped automatically// 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)) 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();

Te mostramos las comentarios y valoraciones de los usuarios

Si conservas alguna desconfianza y capacidad de perfeccionar nuestro artículo puedes añadir una referencia y con placer lo observaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *