When moving from LWJGL 2 to LWJGL 3 I have noticed that the execution now doesn’t return from the SimpleApplication#start method call (until JME quits). This is mildly irritating for me (as I have a test framework that starts up a JME application then simulates playing a game) but I can work around it if necessary but I wanted to find out if this change was deliberate or not.
Test Application:
public class LWJGLTest extends SimpleApplication {
public static void main(String[] args){
LWJGLTest app = new LWJGLTest();
app.start();
System.out.println("returned from main");
}
@Override
public void simpleInitApp() {
flyCam.setEnabled(false);
}
}
If the dependencies contains lwjgl3 then “returned from main” doesn’t print until you quit JME
compile "org.jmonkeyengine:jme3-lwjgl3:3.2.4-stable"
If the dependencies contains lwjgl then “returned from main” is printed immediately after start up
compile "org.jmonkeyengine:jme3-lwjgl:3.2.4-stable"
I can see an argument for the lwjgl3 behaviour, so if its deliberate I’ll work around it