Anfängerfrage: Text anzeigen mit LWJGL

zondan

Mitglied
Hallo,
ich bin relativ neu in Java und erst Recht in LWJGL und OpenGL.
Die Frage die ich jetzt habe ist: Wie kann ich Text in einem OpenGL Fenster zeichnen?

Ich hab natürlich bereits etwas herumgesucht und herumprobiert. Was ich bis jetzt raus gefunden habe ist das OpenGL(oder LWJGL?) keine direkte Möglichkeit bietet das zu tun. Jedoch bin ich mir da nicht so sicher, den ich habe auch sowas gefunden für C++
Code:
glFontBegin(&font);
glScalef(8.0, 8.0, 8.0);
glTranslatef(30, 30, 0);
glFontTextOut("Test", 5, 5, 0);
glFontEnd();
glFlush();
Damit kann man angeblich Text darstellen. Die glFontBegin, glFontTextOut und glFontEnd Methoden finde ich jedoch nicht in LWJGL.

Dann bin ich auf Slick gestoßen, das anscheinend LWJGL stark erweitert und unter anderem auch die Möglichkeit bietet einfach Text anzuzeigen.
Jedoch weiß ich nicht wie man das benutzt.
Im Forum hab ich dann einen Thread gefunden der mehr oder weniger diesen Codeteil enthalten hat:
Java:
GL11.glEnable(GL11.GL_TEXTURE_2D);
org.newdawn.slick.opengl.TextureImpl.bindNone();
font.drawString(100, 100, "TEST-TEXT", org.newdawn.slick.Color.yellow);
GL11.glDisable(GL11.GL_TEXTURE_2D);
Ich weiß nicht wirklich wie man font erstellt aber ich hab es mal so probiert:
Java:
UnicodeFont font = new UnicodeFont(Font.decode(Font.SANS_SERIF),20,false,false);
Es kompiliert problemlos und ich hab deutlich weniger FPS aber es wird nichts angezeigt.

Ich weiß jetzt nicht mehr wirklich was ich noch probieren könnte.
Die Frage ist auch ob es wirklich sinnvoll ist nur für die Darstellung von Text eine so große Bibliothek wie Slick zu benutzen. Am liebsten würde ich das direkt in LWJGL lösen. Denke der Lernfaktor wäre da größer als etwas schon fertiges zu nutzen.
Da hab ich etwas von einem Bild von einem Buchstaben in ein Quad zeichnen gelesen. Wie erzeuge ich dann aber das Bild vom Buchstaben aus einer Schriftart? Und vor allem wie zeichne ich überhaupt ein Bild? Hab bis jetzt nur Polygone gezeichnet. ^^

Würde mich freuen wenn mir jemand helfen könnte. :)
 

Evil-Devil

Top Contributor
Hallo.

LWJGL selbst ist nur ein Java-Binding für OpenGL. Du kommunizierst somit direkt mit einer Bibliothek zur Anzeige von Linien, Dreiecksdaten und Texturen. Alles andere wie zb. die Darstellung von Schrift, darum muss man sich selbst kümmern.

Dein C++ Beispiel oben wird vermutlich die WGLExtension nutzen. Die gibt es in LWJGL nicht, da die WGL nur unter Windows verfügbar ist. Für Linux und Mac gibt es ähnliche Equivalente Extensions. Aber da die nicht allgemeingültig sind findest du die in LWJGL auch nicht.

Slick nur eine Engine die einige der Funktionen von OpenGL/LWJGL nutzt und kapselt. Viele Funktionen sind somit auch nicht von Slick abgedeckt, da sie einfach nicht in das Ziel - eine 2D Engine bereitzustellen - hineinpassen.
Es spricht nichts dagegen Slick für die Darstellung von Text zu nutzen.
Hierzu kannst du dir zunächst die Webstart Demos Slick - 2D Game Library based on LWJGL - Webstart Demos anschauen und dann in Slick selbst den dazugehörigen Sourcecode.

Mit einzelnen Code-Fragmenten wird das so nicht laufen ;)
 

zondan

Mitglied
Danke für die Antwort.
Ich habs jetzt geschafft mit Slick Schrift darzustellen. Würde zwar immer noch gern wissen wie man sowas direkt mit LWJGL macht aber ich denke fürs erste reicht mir Slick.
Vielen Dank für den Link zu den Demos. Das wird helfen. :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Anfängerfrage: Plazierung Panel im JFrame und KeyLIstener Spiele- und Multimedia-Programmierung 4
G Anfängerfrage Landschaft Spiele- und Multimedia-Programmierung 3
K Das Leerzeichen der Tastatur wird nicht gleichgesetzt mit dem Leerzeichen aus der Text Datei Spiele- und Multimedia-Programmierung 5
coolian slick lwjgl text darstellen mit UnicodeFont funktoniert nicht? Spiele- und Multimedia-Programmierung 11
J Fertigungstechnik.. PLS HALP.. Quellcode vom Text in java-Klasse speichern Spiele- und Multimedia-Programmierung 2
it_is_all Dialogbox im Spiel - Text in Blöcke aufteilen Spiele- und Multimedia-Programmierung 4
S GUI erstellen für Text Adventure Spiele- und Multimedia-Programmierung 4
T Minecraft Bukkit Plugin Text Datei auslesen Spiele- und Multimedia-Programmierung 1
M LWJGL Text rendern Spiele- und Multimedia-Programmierung 3
A LWJGL/OpenGL und Text Spiele- und Multimedia-Programmierung 8
U [JOGL 1.1.1a]Kleines Problem mit Text Overlays: Spiele- und Multimedia-Programmierung 19
T LWJGL - 2D Text über 3D Hintergrund Spiele- und Multimedia-Programmierung 7
T LWJGL und Text Spiele- und Multimedia-Programmierung 5
B Vorgehensweise: Gegenstände in Text-basiertem Spiel Spiele- und Multimedia-Programmierung 8
ToNyXXL Text Ausgabe in Spielen! Spiele- und Multimedia-Programmierung 6
F Welchen Platz braucht ein Text? Spiele- und Multimedia-Programmierung 4
S Text an einer Seite eines Cubes Spiele- und Multimedia-Programmierung 7
J Text Anzeige + baum.obj Spiele- und Multimedia-Programmierung 3
G Text perspektivisch verzerren Spiele- und Multimedia-Programmierung 4
C Text in/auf Text2D ändern Spiele- und Multimedia-Programmierung 4
N Gameloop tiles anzeigen Spiele- und Multimedia-Programmierung 3
L MJPEG stream mit wechselnden Kameras anzeigen Spiele- und Multimedia-Programmierung 0
H Minecraft Javafehler anzeigen Minecraft Spiele- und Multimedia-Programmierung 5
K Problem beim Anzeigen von Bildern Spiele- und Multimedia-Programmierung 5
D Webcam Livebild wie Spiegelbild anzeigen Spiele- und Multimedia-Programmierung 2
M Das Frequenzspektrum einer WAV/MP3-Datei anzeigen Spiele- und Multimedia-Programmierung 6
K Kanten anzeigen lassen in einem Shape3D-Objekt Spiele- und Multimedia-Programmierung 4
O Wireframe und Fläche gleichzeitig anzeigen Spiele- und Multimedia-Programmierung 3
J Würfel Augenzahl richtig anzeigen Spiele- und Multimedia-Programmierung 16
A Anzeigen eines Grapfen Spiele- und Multimedia-Programmierung 13
V FPS anzeigen? Spiele- und Multimedia-Programmierung 6
V Objekt per Tastendruck anzeigen/verschwinden lassen? Spiele- und Multimedia-Programmierung 4
P Rechteck rotieren und frontal anzeigen Spiele- und Multimedia-Programmierung 2
D J3D Neuling: Crosshair erzeugen und anzeigen! Spiele- und Multimedia-Programmierung 5

Ähnliche Java Themen

Neue Themen


Oben