2016-08-09 40 views
0

ich Probleme machen mein Programm mit gehen Vollbild mit:Wie verwende ich den richtigen LWJGL DisplayMode im Vollbildmodus?

Display.setFullscreen(true); 

... aber die folgende Antwort half mir: LWJGL Fullscreen not working

Diese Antwort vorgeschlagen, dass ich durch alle verfügbaren DisplayModes laufen und finden Sie das kompatibel Einsen. Hier ist der Code ich derzeit haben:

if (!fullscreen) 
    Display.setDisplayMode(new DisplayMode(width, height)); 
else { 
    DisplayMode displayMode = null; 
    DisplayMode[] modes = Display.getAvailableDisplayModes(); 
    ArrayList<String> compatibleModes = new ArrayList<String>(); 
    for (int i = 0; i < modes.length; i++) { 
     System.out.println("Mode "+i+": "+modes[i].toString()); 
     if (modes[i].getWidth() == width && modes[i].getHeight() == height 
       && modes[i].isFullscreenCapable()) { 
      displayMode = modes[i]; 
      compatibleModes.add(modes[i].toString()); 
     } 
    } 
    if(compatibleModes.isEmpty()){ 
     System.out.println("No compatible display modes!"); 
     System.exit(-1); 
    } 
    System.out.println("Display Modes :: "+modes.length+" Total :: "+compatibleModes.size()+" Compatible :: "+displayMode.toString()+" Selected"); 
    for (String string : compatibleModes) { 
     System.out.println("Compatible: "+string); 
    } 
    Display.setDisplayMode(displayMode); 
    Display.setFullscreen(true); 
} 
Display.create(new PixelFormat(), attribs); 

Meine Konsolenprotokoll zeigt: (Ich habe einige irrelevant Modi der Klarheit halber weggelassen)

Mode 0: 1920 x 1080 x 32 @24Hz 
Mode 5: 1920 x 1080 x 32 @23Hz 
Mode 18: 1280 x 1024 x 32 @60Hz 
Mode 19: 1920 x 1080 x 32 @59Hz 
Mode 20: 1920 x 1080 x 32 @60Hz 
Mode 21: 1920 x 1080 x 32 @50Hz 
Mode 23: 1920 x 1200 x 32 @59Hz 
Mode 25: 1920 x 1200 x 32 @60Hz 
Mode 26: 1768 x 992 x 32 @24Hz 
Mode 28: 1920 x 1440 x 32 @59Hz 
Mode 29: 2560 x 1440 x 32 @59Hz <-- I have a 1440p monitor, why is this NOT compatible? 
Mode 30: 1280 x 800 x 32 @60Hz 
Mode 31: 1920 x 1440 x 32 @60Hz 
Mode 49: 1600 x 1200 x 32 @59Hz 
Mode 50: 1600 x 1200 x 32 @60Hz 
Display Modes :: 53 Total :: 3 Compatible :: 1280 x 720 x 32 @60Hz Selected 
Compatible: 1280 x 720 x 32 @50Hz 
Compatible: 1280 x 720 x 32 @59Hz 
Compatible: 1280 x 720 x 32 @60Hz 

Vollbild-Spiele funktionieren auf meinem Computer zu 1440p, so Warum ist der Modus nicht verfügbar? Ich bin mir nicht sicher. Wenn ich das Programm starte, ist der Bildschirm sehr verschwommen.

Wie kann ich das beheben? Vielen Dank im Voraus.

Antwort

1

Vielleicht

Display.setDisplayModeAndFullscreen(Display.getDesktopDisplayMode()); 

Selbst mit versuchen, wenn es nicht dem 1440p Problem löst es immer noch eine viel ordentliche Art und Weise ist einen Vollbild-Display zu bekommen.