В Mac OS X El Capitan, OpenGL версии 4.1, мое приложение LWJGL 3.0 зависает при вызове функции Slick2D TextureLoader.getTexture()
Вот код, который я пытаюсь использовать для загрузки текстуры. Он запускается в том же потоке, что и основной цикл, и вызывается после установки окна.
FileInputStream file = new FileInputStream("src/AppIcon.png");
texture = TextureLoader.getTexture("PNG", file);
Файл действительно существует, и код работает нормально, когда я закомментирую код для текстурирования, которым является этот метод
public int loadTexture(String filename){
Texture texture = null;
try{
FileInputStream file = new FileInputStream(filename + ".png");
//The app freezes here
texture = TextureLoader.getTexture("png", file);
//"LOADED" is never printed to the console.
System.out.println("LOADED");
}
catch(FileNotFoundException e){
e.printStackTrace();
}
catch(IOException e){
e.printStackTrace();
}
return texture.getTextureID();
}
Текстура, которую я пытаюсь использовать, представляет собой изображение PNG размером 1024 x 1024,
Я также пытался использовать гораздо меньшее изображение 16 x 16 пикселей,
но я получаю тот же результат.
Оба изображения физически в порядке, никаких ошибок не регистрируется, и последнее, что выводится в консоли, принадлежит Slick2D, заявляя, что
ИНФОРМАЦИЯ: Использовать Java PNG Loader = true
Это особенность ОС или я что-то не так делаю?
pngcheck
на своих изображениях и проверить, в порядке ли они физически? Вероятно, так оно и есть — вероятность того, что два образа плохие (если только вы не создали их оба с помощью одного и того же (плохого) программного обеспечения), довольно мала, но все же стоит проверить. Можете ли вы добавить одно из этих изображений к вашему вопросу? - person Jongware   schedule 22.11.2015