Итак, я пытаюсь нарисовать текст на экране с помощью специального шрифта, который я сделал. Проблема возникает при одновременном использовании текстур.Проблемы с использованием шрифтов и текстур истинного типа LWJGL
загружаю мои текстуры, как это:
Int текстуры {
try {
InputStream in = new FileInputStream(filelocation);
PNGDecoder decoder = new PNGDecoder(in);
ByteBuffer buffer = BufferUtils.createByteBuffer(4
* decoder.getWidth() * decoder.getHeight());
decoder.decode(buffer, decoder.getWidth() * 4, Format.RGBA);
buffer.flip();
in.close();
//glBindTexture(GL_TEXTURE_2D, Texture);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER,
GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
GL_NEAREST);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, decoder.getWidth(),
decoder.getHeight(), 0, GL_RGBA, GL_UNSIGNED_BYTE,
buffer);
glBindTexture(GL_TEXTURE_2D, 0);
} catch (FileNotFoundException ex) {
System.err
.println("Textures are not in their correct location.");
Display.destroy();
System.exit(1);
} catch (IOException ex) {
System.err
.println("Textures are not in their correct location.");
Display.destroy();
System.exit(1);
}
}
И мой шрифт как этот
государственной статической силы нагрузки (размер поплавка) {
try {
InputStream inputStream = ResourceLoader.getResourceAsStream(filelocation);
Font awtFont = Font.createFont(Font.TRUETYPE_FONT, inputStream);
awtFont = awtFont.deriveFont(size);
fontname = new TrueTypeFont(awtFont, true);
} catch (Exception e) {
e.printStackTrace();
}
}
Что происходит, так это то, как входные потоки стали «перепутаны», а текст, который я хочу, - это рисовать остроумием h текстуру, которую я загрузил.
Загружаю шрифт перед игровым циклом из Font.class и текстуры загружаются из класса, в котором они используются, который вызывается во время игрового цикла.
У меня проблема с googled и ничего не могу найти. Если вы можете понять меня, спасибо заранее.
Я забыл раскомментировать код во мне пытается сгладить проблему из, извините. Знаете ли вы, как я могу исправить проблему, которую я имею? –
Нам нужно видеть, что вы привязываете текстуры при рендеринге. Вы можете это показать? – Aaron
Это список отображения: 'int buttonDisplayList = glGenLists (1); \t \t glNewList (кнопкаDisplayList, GL_COMPILE); \t \t { \t \t \t glBegin (GL_QUADS); \t \t \t glTexCoord2f (0, 0); \t \t \t glVertex2f (xlocation, ylocation); \t \t \t glTexCoord2f (1, 0); \t \t \t glVertex2f ((xlocation + width), ylocation); \t \t \t glTexCoord2f (1, 1); \t \t \t glVertex2f ((xlocation + ширина), (ylocation-height)); \t \t \t glTexCoord2f (0, 1); \t \t \t glVertex2f (xlocation, (ylocation-height)); \t \t \t glEnd(); \t \t} \t \t glEndList(); ' –