Ich habe einen 3D Graphen mit 3 Koordinatenachsen. Diese müsste ich noch beschriften. Wie mache ich das?
a) Zeichne ich den Text in 2D? Dazu müsste ich wissen, wo die Achse ist? Gibts eine Funktion von 3D -> 2D?
b) Zeichne ich den Text in 3D? Dann wüsste ich wo die Achsen sind, aber wie richte ich den Text dann auf die Kamera aus?
Registriert: Di Dez 27, 2005 12:44 Beiträge: 393 Wohnort: Berlin
Programmiersprache: Java, C++, Groovy
Hallo JPSelter,
für das zweite Problem gibt es noch eine andere Lösung : Bitmap-Fonts.
Falls du die glut-Bibliothek benutzt, kannst du mit glutBitmapString und glRasterPos3i deinen Text beliebig im 3-Dimensionalen Raum ausrichten.
Der Vorteil dieser Schrift ist, das sie immer zum Benutzer ausgerichtet ist und ihre Größe nicht verändert.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Du musst dazu aber nicht unbedingt die Glut benutzen. Normal läuft es so ab, dass du für jedes Zeichen eine Displayliste hast. Die werden aber am Stück erstellt. Und dann kann man diese auch Problemlos mittels glCallLists zeichnen. Falls interesse besteht hier die Unit glText von mir. Dort enthalten ist eine Klasse namens TglBitmapText. Diese enthält alles was man benötigt. Und die Größes des Quellcodes ist auch sehr übersichtlich.
Ach ja. Um noch etwas deutlicher darzustellen was dj3hut1 bereits angedeutet hat. Wie üblich muss man bei 2D Sachen in den 2D Modus wechseln. In diesem Falle ist das aber nicht so! Durch das Wechseln in den 2D Modus würde die Ansicht verändert werden und die Koodinaten (zb 0, 0, 0) wären nicht mehr da wo sie in 3D wären. Das Zeichnen der Fonts ist aber unabhängig davon welche Projektion (2D/3D) verwendet wird. Die Zeichen werden stumpf in den Farbbuffer gemalt. Nur wenn man ein HUD darstellen möchte ist es wesentlich praktischer, wenn man feste Bildschirmkoordinaten benutzen kann. Das ist hier aber nicht gewollt.
Mitglieder in diesem Forum: 0 Mitglieder und 6 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.