Answers for "lwjgl 3 make screen"

0

lwjgl 3 make screen

import java.nio.IntBuffer;

import org.lwjgl.BufferUtils;
import org.lwjgl.glfw.GLFW;
import org.lwjgl.glfw.GLFWVidMode;
import org.lwjgl.opengl.GL;
import org.lwjgl.opengl.GL11;

public class Display {
	public static long window;
	
	public static void createDisplay(int width,int height,String title) {
		if(!GLFW.glfwInit())
			throw new IllegalStateException("Cant initialize glfw check drivers");
		
		GLFW.glfwWindowHint(GLFW.GLFW_RESIZABLE, GLFW.GLFW_TRUE);
		
		window = GLFW.glfwCreateWindow(width, height, title, 0, 0);
		if(window == 0)
			throw new IllegalArgumentException("cant make window");
		
		GLFWVidMode videoMode = GLFW.glfwGetVideoMode(GLFW.glfwGetPrimaryMonitor());
		GLFW.glfwSetWindowPos(window, (videoMode.width() - width) / 2, (videoMode.height() - height) / 2);
		
		GLFW.glfwMakeContextCurrent(window);
		GLFW.glfwSwapInterval(1);
		GLFW.glfwShowWindow(window);
		
		GL.createCapabilities();
		
		GL11.glViewport(0, 0, width, height);
	}
	public static void clearDisplay() {
		GL11.glClear(GL11.GL_COLOR_BUFFER_BIT|GL11.GL_DEPTH_BUFFER_BIT);
	}
	public static boolean canUpdateDisplay() {
		return !GLFW.glfwWindowShouldClose(window);
	}
	public static void updateDisplay() {
		GL11.glViewport(0, 0, getWidth(), getHeight());
		
		GLFW.glfwSwapBuffers(window);
		
		GLFW.glfwPollEvents();
	}
	public static void closeDisplay() {
		GLFW.glfwSetWindowShouldClose(window, true);
		
		GLFW.glfwTerminate();
	}
	
	public static int getWidth() {
		IntBuffer buffer = BufferUtils.createIntBuffer(1);
		
		GLFW.glfwGetWindowSize(window, buffer, null);
		
		return buffer.get();
	}
	public static int getHeight() {
		IntBuffer buffer = BufferUtils.createIntBuffer(1);
		
		GLFW.glfwGetWindowSize(window, null, buffer);
		
		return buffer.get();
	}
}


public class Main {
	public static void main(String[] args) {
		new Main().run();
	}
	public void run() {
		Display.createDisplay(1280, 720, "Minecraft in 1 week");
		
		while(Display.canUpdateDisplay()) {
			Display.clearDisplay();
			
			Display.updateDisplay();
		}
		
		Display.closeDisplay();
	}
}
Posted by: Guest on October-18-2020

Browse Popular Code Answers by Language