Я пытаюсь обновиться до LWJGL 3, и после того, как я все обновил и попытался убедиться, что он работает, не появляется ошибка, но окно серое, потому что цвет, указанный в glClearColour, серый.
Как ответ на этот вопрос говорит: LWJGL 3 Ничего не рендерит, при успешном создании отображения Я посмотрел, если glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);вызывается непосредственно перед заменой буфера, но это не было проблемой.
//im not acctually sure what code is needed to figure the problem out / maybe //reproduce so tell me if u need anything else
//main game loop
while(!GLFW.glfwWindowShouldClose(DisplayManager.getWindow())){
camera.move();
player.move(terrain);
renderer.processTerrain(terrain);
/*renderer.processTerrain(terrain2);
renderer.processTerrain(terrain3);
renderer.processTerrain(terrain4);
renderer.processTerrain(terrain5);
renderer.processTerrain(terrain6);
renderer.processTerrain(terrain7);
renderer.processTerrain(terrain8);
renderer.processTerrain(terrain9);
renderer.processTerrain(terrain10);*/
renderer.processEntity(player);
for(Entity entity:entities) {
renderer.processEntity(entity);
}
renderer.render(light, camera);
DisplayManager.updateDisplay();
}
//DisplayManager class most of it anyways
private static long window;
public static void createDisplay(){
GLFW.glfwSetErrorCallback((error, description) -> {
System.err.println("GLFW error[" + Integer.toHexString(error) + "]: " + GLFWErrorCallback.getDescription(description));
});
boolean isInit = GLFW.glfwInit();
if(isInit == false) {
throw new IllegalStateException("GLFW Init failed");
}
GLFW.glfwWindowHint(GLFW.GLFW_RESIZABLE, GL11.GL_FALSE);
window = GLFW.glfwCreateWindow(WIDTH, HEIGHT, "test", 0, 0);
if(window == MemoryUtil.NULL) {
throw new IllegalStateException("GLFW window creation failed");
}
GLFW.glfwMakeContextCurrent(window);
//GLFW.glfwSwapInterval(1);
GL.createCapabilities();
GLFW.glfwShowWindow(window);
GL11.glViewport(0,0, WIDTH, HEIGHT);
}
public static void updateDisplay(){
GLFW.glfwSwapBuffers(window);
GLFW.glfwPollEvents();
}
public static long getWindow() {
return window;
}
//i changed no opengl code so the error should be somewhere in that code
Я ожидаю, что некоторые вещи воспроизводятся в основном в виде ландшафта, а некоторые деревья - трава, цветы и цветы, но я просто получаю серый экран