Окно Java OpenGL закрывается, как только оно открывается - PullRequest
0 голосов
/ 27 декабря 2018

Я использую maven для импорта зависимостей jogamp.

Вот содержимое pom.xml:

<dependencies>
    <dependency>
        <groupId>org.jogamp.gluegen</groupId>
        <artifactId>gluegen-rt-main</artifactId>
        <version>2.3.2</version>
    </dependency>
    <dependency>
        <groupId>org.jogamp.jogl</groupId>
        <artifactId>jogl-all-main</artifactId>
        <version>2.3.2</version>
    </dependency>
</dependencies>

Приведенный ниже код должен создать окно.

import com.jogamp.newt.opengl.GLWindow;
import com.jogamp.opengl.GLCapabilities;
import com.jogamp.opengl.GLProfile;

public class Renderer {

    private static GLWindow window = null;

    public static void init(){
        GLProfile.initSingleton();
        GLProfile profile = GLProfile.get(GLProfile.GL2);
        GLCapabilities caps = new GLCapabilities(profile);

        window = GLWindow.create(caps);
        window.setSize(640, 360);
        window.setResizable(false);
        window.setVisible(true);
    }

    public static void main(String[] args){
        init();
    }
}

В моем случае он создает окно, которое закрывается сразу же после открытия, и выдает Process finished with exit code 0.Я следовал этим инструкциям , но даже при добавлении поддержки joal и jocl в maven это не сработало.

1 Ответ

0 голосов
/ 27 декабря 2018

Вам нужно FPSAnimator

public static void init(){
        GLProfile.initSingleton();
        GLProfile profile = GLProfile.get(GLProfile.GL2);
        GLCapabilities caps = new GLCapabilities(profile);

        window = GLWindow.create(caps);
        window.setSize(640, 360);
        window.setResizable(false);
        window.setVisible(true);
        FPSAnimator animator = new FPSAnimator(window, 30);
        animator.start();
    }
...