LWJGL 3 не отображает ничего, кроме цвета, указанного в glClearColour - PullRequest
0 голосов
/ 19 октября 2019

Я пытаюсь обновиться до 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

Я ожидаю, что некоторые вещи воспроизводятся в основном в виде ландшафта, а некоторые деревья - трава, цветы и цветы, но я просто получаю серый экран

...