LWJGL und Text

TimoH.

Mitglied
Hallo,

ich habe eigentlich nur eine kurze Frage. Wie stelle ich Text in LWJGL "vernünftig" dar.
Ich habe bis vor ehm ca. 30Minuten Slick-Utils genutzt, aber nun habe ich nen paar Tests gestartet um
mal andere Texturen zu rendern und siehe da, die Schrift von Slick sieht nicht mehr nach "Schrift" aus. Es scheint so als ob die Art und weise wie ich Texturen aufn Bildschirm verfrachte, sich nicht mit der "Slick-Schrift" verträgt.

Hat wer eine Idee, oder einen Vorschlag wie ich eventuell schöner Schriften anzeige

(Meine Idee war, einen "eigenen" Font als Texturen abzuspeichern und dann eine "umwandlung" vorzunehmen, die Text einliest und Texturen die den Text repräsentieren rendert)

Mfg Timo
 

Kr0e

Gesperrter Benutzer
Ich glaube, ich weiß wo dein Problem liegt, sofern wir vom selben Problem reden ;)

Mir ist das mal bei der FPS ANzeige von Slick aufgefallen... Beim Rendern von Texturen musst du ja bei OpenGL stets "glBindTex()" (oder so ähn.) benutzen. Nun kann es vlt bei dir sein, dass du deine Texture bindest und der Text-Render Modus dann versucht, Text mit der von dir gebundenen Textur zu zeichnen... Das geht dann natürlich shcief....

Um zu testen, ob es daran liegt:

Frag vorher nach, welche Texture grad gebunden ist und merk dir die ID. Dann binde deine Texture, rendere und danach bindest du wieder die alte Texture-Id.

Gruß,

Chris
 

TimoH.

Mitglied
hehe ok, werde es mal testen.

Wo wir gerade schon bei LWJGL sind. Wenn ich das Projekt compile und aufrufe muss ich ja den Pfad zu den dll mit hilfe von
-Djava.library.path übergeben: Mein Problem, er akzeptiert nur absolute Pfade, kann man das irgendwie auch mit einem relativem Pfad machen?
 

Kr0e

Gesperrter Benutzer
Nun, eigentlich sollten relative gehen...

-Djava.library.path=lib klappt bei mir... Lib wäre ein Unterordner meines Projektordners...

Aber da mich persönlich diese Angabe sowieso stört, hab ich mir einen Extraktor gebastelt, der die nativen Dateien, je nach Betriebssystem, aus einer mitgelieferten Jar extrahiert und direkt ins ausführende Verzeichnis kopiert. Dadurch entfällt die path Angabe ;) Und man spart sich später Probleme der User, dass iwelche Libs nicht gefunden werden...
 

TimoH.

Mitglied
Ok scheine einen Workaround gefunden zu haben :).

Danke Kr0e :D

bevor ich jetzt den Text mit Slick zeichne rufe ich einfach bei der Slick-Texture Klasse (nicht die, die ich für meine eigenen Texturen habe) folgendes auf:

Java:
    public void renderInfo(){
        if (showInfo) {
            glEnable(GL_TEXTURE_2D);
            org.newdawn.slick.opengl.TextureImpl.bindNone();
            font.drawString(500, 500, "TEST-TEXT", Color.yellow);
            glDisable(GL_TEXTURE_2D);
        }
    }

So schauts jetzt aus :)
Klick
 
Zuletzt bearbeitet:

Kr0e

Gesperrter Benutzer
Ja genau das meinte ich!

Schön zu hören =)

Im Source-Code dieser Klasse:

Java:
    /**
     * Clear the binding of the texture
     */
    public static void bindNone() {
    	lastBind = null;
    	GL.glDisable(SGL.GL_TEXTURE_2D);
    }

Wenn lastBind auf null ist, bindet der nächste Aufruf von drawString wieder die korrekte Texture. Slick macht das, um Performance zu bieten. Das binden von Texturen kostet relatvi viel Zeit und man sollte dies so gut es geht vermeiden. Z.b. lieber alles auf eine Textur klatschen und dann mit Koordinaten arbeiten...

Wie du siehst, ist das glEnable/glDisable von dir nichtmal nötig. Denn bei bindNone() wirds eh deaktiviert und am Ende zu deaktivieren ist IMHO auch nicht nötig ;)

EDIT:

Es gibt eine Funktion, die genau für deinen Fall gemacht ist:

Java:
    /**
     * Clear slick caching of the last bound texture so that an 
     * external texture binder can play with the context before returning 
     * control to slick.
     */
    public static void unbind() {
    	lastBind = null;
    }
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
coolian slick lwjgl text darstellen mit UnicodeFont funktoniert nicht? Spiele- und Multimedia-Programmierung 11
M LWJGL Text rendern Spiele- und Multimedia-Programmierung 3
Z Anfängerfrage: Text anzeigen mit LWJGL Spiele- und Multimedia-Programmierung 2
A LWJGL/OpenGL und Text Spiele- und Multimedia-Programmierung 8
T LWJGL - 2D Text über 3D Hintergrund Spiele- und Multimedia-Programmierung 7
coolian lwjgl glfw window zeigt nur grau an Spiele- und Multimedia-Programmierung 0
F OpenGL (LWJGL) Shader Programmierung GLSL Spiele- und Multimedia-Programmierung 2
Meeresgott LWJGL 3 Problem mit einer Texture Spiele- und Multimedia-Programmierung 4
V LWJGL GUI Spiele- und Multimedia-Programmierung 1
V GUI in LWJGL 2 erstellen Spiele- und Multimedia-Programmierung 6
C GLSL Shaderprogrammierung in LWJGL 3 Spiele- und Multimedia-Programmierung 12
G Low Poly 3D LWJGL Shader Problem Spiele- und Multimedia-Programmierung 4
B LWJGL OpenGL SIGSEGV auf Linux (Verzweiflung :/) Spiele- und Multimedia-Programmierung 8
G LWJGL .obj .mtl loader Spiele- und Multimedia-Programmierung 3
G 2D animationen LWJGL Spiele- und Multimedia-Programmierung 0
pcfreak9000 "Allgemeine" Performance verbessern (LWJGL 2) Spiele- und Multimedia-Programmierung 2
G LWJGL Rendert nicht Spiele- und Multimedia-Programmierung 3
G lwjgl verwendung Spiele- und Multimedia-Programmierung 6
R [LWJGL] Skeletal Animation Spiele- und Multimedia-Programmierung 5
E LWJGL glGenVertexArrays() erzeugt doppelte IDs Spiele- und Multimedia-Programmierung 3
G Java 2D Spiel mit LWJGL verbinden Spiele- und Multimedia-Programmierung 1
Streeber Problem mit Transparenz/TextDrawing in LWJGL/Slick2d (OpenGL) Spiele- und Multimedia-Programmierung 1
K No Lwjgl Spiele- und Multimedia-Programmierung 2
T LWJGL 2.9.2: Seltsamer Effekt beim Rendern (VertexShader Problem?) Spiele- und Multimedia-Programmierung 3
T LWJGL: Terrain-Texturen / 2D-Array in Shader? Spiele- und Multimedia-Programmierung 2
S 2D-Render Probleme LWJGL 2 (Java) Spiele- und Multimedia-Programmierung 1
P java lwjgl Game Spiele- und Multimedia-Programmierung 0
T [LWJGL] Textur / File wieder freigeben Spiele- und Multimedia-Programmierung 4
F [LWJGL] Skeletal Animation 3D Spiele- und Multimedia-Programmierung 1
C Generelle Hilfe zur lwjgl Spiele- und Multimedia-Programmierung 0
D LWJGL gluLookAt "Umschauen" Problem Spiele- und Multimedia-Programmierung 0
D Problem mit Würfelanimierung in LWJGL Spiele- und Multimedia-Programmierung 7
RalleYTN LWJGL Vignette Spiele- und Multimedia-Programmierung 2
E LWJGL Switchen zwischen gluOrtho und gluPerspective Spiele- und Multimedia-Programmierung 0
RalleYTN LWJGL Rotation Spiele- und Multimedia-Programmierung 1
C LWJGL Color Picking Textures deaktivieren Spiele- und Multimedia-Programmierung 0
K FBO Framebuffer object [LWJGL] 2D tutorial gesucht Spiele- und Multimedia-Programmierung 2
K [LWJGL] 2D Tunneler Hintergrund Spiele- und Multimedia-Programmierung 7
S LWJGL 3d-spieleentwicklung Spiele- und Multimedia-Programmierung 3
H LWJGL-Renderfail Spiele- und Multimedia-Programmierung 1
Seikuassi LWJGL - Texturen flackern Spiele- und Multimedia-Programmierung 2
Androbin LWJGL - Kollisions-Bug (Fallen) Spiele- und Multimedia-Programmierung 14
K Schiessen in 2D (LWJGL) Spiele- und Multimedia-Programmierung 2
S LWJGL Kamera Problem - Alles verzerrt Spiele- und Multimedia-Programmierung 4
U Kann nur ein Objekt mit LWJGL rendern Spiele- und Multimedia-Programmierung 2
X LWJGL | Parent.isDisplayable() must be true | wie kann man das zu true machen? Spiele- und Multimedia-Programmierung 0
X [LWJGL] Binden von Texturen per PNG File und Texture Sheet Spiele- und Multimedia-Programmierung 1
X LWJGL - Anklick baren Button erstellen aber wie? Spiele- und Multimedia-Programmierung 6
U Quadrate anklicken LWJGL Spiele- und Multimedia-Programmierung 3
B LWJGL / OPENGL Kriege Depth-Test nicht hin :( Spiele- und Multimedia-Programmierung 0
B LWJGL Manche Seiten werden transparent angezeigt Spiele- und Multimedia-Programmierung 2
T LWJGL VBO's funktionieren nicht, geben aber auch keinen Fehler Spiele- und Multimedia-Programmierung 0
U Komische fragmente bei LWJGL Spiele- und Multimedia-Programmierung 6
B LWJGL StackOverFlow Problem nach 30sekunden. (Pong) Spiele- und Multimedia-Programmierung 2
Q LWJGL - Alpha-Probleme Spiele- und Multimedia-Programmierung 2
S [LWJGL] Zweimal selbe Textur trotz unterschiedlicher IDs Spiele- und Multimedia-Programmierung 3
O LWJGL AWTGLCanvas Tiefe auf 1 beschränkt Spiele- und Multimedia-Programmierung 5
Seikuassi LWJGL-Problem Spiele- und Multimedia-Programmierung 2
S [LWJGL] schwarzer Bildschrim beim rendern von .obj Model Spiele- und Multimedia-Programmierung 2
S [lwjgl] Renderbug bei mehreren Objekten Spiele- und Multimedia-Programmierung 2
R LWJGL: OpenGL Fehler - weitere Informationen auslesen möglich? Spiele- und Multimedia-Programmierung 2
S LWJGL Kamera Koordinaten invertiert. Spiele- und Multimedia-Programmierung 2
B LWJGL Mauskoordinaten Spiele- und Multimedia-Programmierung 1
J LWJGL Update Schleife (Snake) Spiele- und Multimedia-Programmierung 6
B LWJGL Display.update() ist langsam Spiele- und Multimedia-Programmierung 5
R LWJGL: Performance glBegin, drawList, ... Spiele- und Multimedia-Programmierung 16
R LWJGL: Object Loader -> .obj, .c4d, ... laden Spiele- und Multimedia-Programmierung 3
R LWJGL: Textur -> unsichtbare Stellen, wie erzeugen? Spiele- und Multimedia-Programmierung 4
A LwJGL - Animation Stockt Spiele- und Multimedia-Programmierung 5
R [lwjgl] Cursor -> versetzt Zeichnen / Bild ist umgedreht Spiele- und Multimedia-Programmierung 2
R LWJGL: 3D Picking Spiele- und Multimedia-Programmierung 4
F LWJGL: Textur ändern mit GL11.readPixels Spiele- und Multimedia-Programmierung 5
F LWJGL: Licht und GL_LINES funktioniert nicht Spiele- und Multimedia-Programmierung 6
A [LWJGL] BMP Textur wird nicht richtig dargestellt Spiele- und Multimedia-Programmierung 8
S LWJGL Rechteck wird nicht gezeichnet Spiele- und Multimedia-Programmierung 6
F LWJGL: Is undefined? Spiele- und Multimedia-Programmierung 7
F LWJGL Kamerabug Spiele- und Multimedia-Programmierung 2
F LWJGL Problem mit Erstellen eines Objekts und der Kamera Spiele- und Multimedia-Programmierung 5
F LWJGL Dreidimensionaler Würfel Spiele- und Multimedia-Programmierung 15
P LWJGL oder OpenGL (C++) Spiele- und Multimedia-Programmierung 7
P "Tiefe" in Objekten - LWJGL Spiele- und Multimedia-Programmierung 12
T LWJGL 3D Objekt Collision: Wie? Spiele- und Multimedia-Programmierung 11
S LWJGL Kamera Frage Spiele- und Multimedia-Programmierung 2
V Komischer Fehler in LWJGL Spiele- und Multimedia-Programmierung 18
Z lwjgl oder jogl nutzen Spiele- und Multimedia-Programmierung 9
Y LWJGL Hintergrund Spiele- und Multimedia-Programmierung 7
Creylon [LWJGL] Textur wird falsch angezeigt Spiele- und Multimedia-Programmierung 12
Creylon [LWJGL] Spiel Exportieren Spiele- und Multimedia-Programmierung 2
Creylon [LWJGL] 2D Sprite Rotieren/Drehen Spiele- und Multimedia-Programmierung 6
CookieSoft LWJGL Ubuntu 12.04 Fehler Spiele- und Multimedia-Programmierung 7
E [LWJGL] Karusell, mehrere Objekte drehen sich um einen Mittelpunkt Spiele- und Multimedia-Programmierung 31
F lwjgl - Skysphere Spiele- und Multimedia-Programmierung 3
CookieSoft Slick und LWJGL Texture lag Spiele- und Multimedia-Programmierung 13
U OpenGl 1.1 (LWJGL GL11.*) und weiter? Spiele- und Multimedia-Programmierung 7
0 Grafikfehler LWJGL Spiele- und Multimedia-Programmierung 2
A LWJGL 3D Objekte Kollision Spiele- und Multimedia-Programmierung 3
Luk10 (LWJGL) Aufwendiges Animieren von Texturen Spiele- und Multimedia-Programmierung 16
S (LWJGL) VertexBufferObjects Spiele- und Multimedia-Programmierung 20
T LWJGL Grafik meines Projektes läuft nicht korrekt auf meinem iMac Spiele- und Multimedia-Programmierung 19
B LWJGL/OpenGL rendert manche Objekte nicht Spiele- und Multimedia-Programmierung 6

Ähnliche Java Themen


Oben