![]() |
[dglOpenGl & TextSuite] Text umdrehen?
Liste der Anhänge anzeigen (Anzahl: 1)
Guten Nachmittag liebe Dp,
ich arbeite mich zur Zeit in OpenGL ein, und wollte mich nun mal dranmachen, Text auszugeben. Ich arbeite mit der dglOpenGl.Pas aus der DGL Wiki und hab mir aus deren Forum ( ![]() die Textsuite heruntergeladen. Das Text ausgeben selber funktioniert auch schon soweit, Problem: Ich benutze das Koordinatensystem von OpenGl (Also Ursprung Unten Links), die Textsuite ist aber auf das Delphi-(Windows-)Koordinatensystem ausgelegt (Ursprung Oben Links). Dementsprechend ist der Text, den ich nun mit Textsuite ausgebe, auf dem Kopf :evil: Den Text gebe ich wie folgt aus:
Delphi-Quellcode:
Die Frage nun, wie drehe ich den Text um? Eigentlich müsste ich ihn ja einmal um die X-Achse um 180° drehen.
// Farbe setzen
tsTextColor3f(1, 1, 1); // Die Font aktivieren - wird vorher Erstellt etc, funktioniert ja auch soweit tsFontBind(fFontID); // Mittelbündige Schrift tsSetParameteri(TS_ALIGN, TS_ALIGN_CENTER); // Die eigentliche Textausgabe glPushMatrix; glTranslatef(XPos, YPos, 0); tsTextOutA('TestText'); glPopMatrix; Also würde der Aufruf dann doch wie folgt aussehen:
Delphi-Quellcode:
Oder Irre ich mich da? Die Ausgabe auf dem Bildschirm ist jedoch nach aufruf von glRotatef komplett schwarz. Ich hoffe mir kann
glPushMatrix;
glRotatef(180, 1, 0, 0) glTranslatef(XPos, YPos, 0); tsTextOutA('TextSuite Sample - Single Line'); glPopMatrix; jemand helfen, Liebe Grüße und Guten Rutsch, Edlmann [Edit] Anbei ein Screenshot von meinem Problem [/Edit] |
AW: [dglOpenGl & TextSuite] Text umdrehen?
Könnte es sein, dass du das Backface Culling aktiviert hast, damit die Rückseiten nicht gerendert werden, was so aussieht:
Delphi-Quellcode:
Wenn du deine Schrift um 180° um die X-Achse drehst, willst du ja, dass die Rückseite ausgegeben wird. Ist das Backface Culling aktiviert, geschieht das nicht.
glEnable(GL_CULL_FACE);
glCullFace(GL_BACK); |
AW: [dglOpenGl & TextSuite] Text umdrehen?
stimmt, das könnte sein dass ich Backface-Culling aufgrund der Performance aktiviert habe...auch wenn das bei 2D-Spielen eher wenig sinn macht ;)
schau ich gleich mal nach, habe es bisher gelöst indem ich die Positionierung in der TextSuite umgeschrieben hab ^^ |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz