2016-08-09 1 views
0

меня были проблемы делает мою программу идти в полноэкранном режиме с:Как правильно использовать LWJGL DisplayMode в полноэкранном режиме?

Display.setFullscreen(true); 

... но следующий ответ помог мне: LWJGL Fullscreen not working

Этот ответ предложил мне перебирать все доступные DisplayModes и найти совместимый из них. Вот код, который я в настоящее время:

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); 

Мой журнал консоль показывает: (я опустил некоторые несоответствующие режимы для ясности)

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 

Полноэкранных игры работают отлично на моем компьютере в 1440p, так почему режим недоступен. Я не уверен. Когда я запускаю программу, экран очень размыт.

Как это исправить? Заранее спасибо.

ответ

1

Может попробовать использовать

Display.setDisplayModeAndFullscreen(Display.getDesktopDisplayMode()); 

Даже если это не решает вопрос 1440P он все еще намного аккуратнее способ получения полноэкранного DisplayMode.