Ich muss euch leider mal wieder belästigen. Wie die Überschrift schon sagt, will ich einfach nur text auf den Bildschirm bringen. Leider wird das in keinem Tutorial beschrieben und das Template hat mich mehr verwirrt als geholfen. Kann mir mal bitte einer erklären wie das geht, am besten mit einem kurzen Codebeispiel.
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Neben den Tutorials sollte man auch immer die Kategorie Techniken_und_Algorithmen im Wiki durchgucken.
Werde einen entsprechenden Hinweis bei den Tutorials machen.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Wenn Du grad dabei bist .. in vielen Tutorials funktionieren die Bilder nicht. Da ist immer nur ein Text ala 'Bild 3: blasülz' und wenn man den Link anklickt, dann kommt man auf eine Wiki-Seite,, die einem mitteilt, dass dieses Bild nirgendwo benutzt wird.
_________________ Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.
So weit so gut aber was genau mache ich jetzt mit wglUseFontBitmaps, nachdem ich ihm meine Liste übergeben habe? Wo muss ich in die Renderfunktion einbauen und wie bestimme ich welcher Text eingebaut wird?
Ich kann mich auch verguckt haben, aber Du rufst CreateLists nie auf.
_________________ Manchmal sehen Dinge, die wie Dinge aussehen wollen, mehr wie Dinge aus, als Dinge.
<Esmerelda Wetterwax>
Es kann vorkommen, dass die Nachkommen trotz Abkommen mit ihrem Einkommen nicht auskommen und umkommen.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Erstens das und Zweitens. Wo setzt du eigentlich deine Perspektive? Bzw den OrthoModus? Ohne diese Einstellung ist die Wahrscheinlichkeit, dass du dich noch in 3D befindest groß aber diese Entscheidung überlässt du dem Grafuktreiber. Also bitte den Modus setzen. Entweder im Render oder CPU Sparender in OnResize des Formulars.
Dann wäre es auch noch praktisch wenn du in der Methode ShowText auch noch eine Position setzt. Also Mittels RasterPos oder so. Dabei kannst du dich auch sonst befinden.
Soweit so gut, das komische ist nur, dass kein Text mehr angezeight wird wenn ich ortho benutze! Ich habe die folgenden Zeilen an den Anfang meiner Render procedure gesetzt:
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Diese Ganze Vereinbarung ist am Besten im OnResize aufgehoben. Dieses Ereignis wird einmal am Anfang aufgerufen, und bei jeder Größenänderung. Viewport und Projektionsmatrix müssen ansonsten nicht geändert werden.
Dein Problem wird sicherlich die Tiefe der Szene sein. Du beschränkst deine Koordinaten auf das Intervall [-1,1]. Vermutlich besser wäre [0,100]. Probiers mal aus.
_________________ Blog: kevin-fleischer.de und fbaingermany.com
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Mishra: Erst einmal ein ganz herzliches Dankesschön von mir. Dein Problem hat mich gerade auf eine Idee gebracht die erschreckenderweise so etwas von genial einfach funktioniert.
Damit solltest du deinen Text sehen. Die RasterPos geht von unteren Linken Ecke des Textes aus. Wenn du also Position 0, 0 setzt dann ist dein Text gerade so außerhalb des sichtbaren Bereiches. Die Koordinaten von RasterPos richten sich danach wie groß die Auflösung ist die du bei glOrtho gesetzt hast. Wenn du dort also nur einen Bereich von 0 bis 1 angegeben hast dann darfst du bei RasterPos auch nur Werte im Bereich von 0 bis 1 angeben. im 2D Modus brauchst du normal mit den ZWerten so gut wie gar nichts machen. Also die kannst du immer auf 0 lassen. Bei glOrtho bbenutzte ich dann immer ganz gerne einen Bereich von -1 und 1. Aber 0 bis 100 wären da auch nicht falsch. Das ist reine Geschmackssache.
PS: Wenn dein Fenster in der Größe veränderbar ist dann empfehle ich dir bei glOrtho auch genau die Angaben zu tätigen die du auch bei glViewPort getätigt hast. Also dafür zu sorgen, dass eine Einheit genau 1 Pixel groß ist. Das macht das Positionieren etc. um längen einfacher.
Bingo, das mit der Rasterposition wars. Freut mich wenn ich helfen konnte ^^
Edit: Ich habe das jetzt mal in ein anders Programm eingebaut, was in der Auflösung 1024 x 768 läuft. Dummerweise sehe ich dann wieder nur schwarz und mit die korrekten Einstellung für die Rasterposition habe ich noch nciht gefunden (diesmal wird Createlists garantiert aufgerufen). Da der Quellcode etwas umfangreich ist poste ich hier nur die Procedure, die den Text ausgeben soll:
Code:
glMatrixMode(GL_Modelview);
glViewport(0,0, ClientWidth, ClientHeight);
glLoadidentity;
glOrtho(0,1024,768,0,-1,1);
Text:='Das ist ein Test';
glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.