Registriert: Do Feb 08, 2007 10:48 Beiträge: 18 Wohnort: nähe Frankfurt
HI Ihr,
ich wollte 3D-Buchstaben rund um eine Kugel oder Später mal was anderes Drum rum schweben lassen...
Nur dazu müsste ich ja die Einzelnen Buchstaben also die Einzelnen Listen aufrufen können!
Nur wie mach ich das?
weil im Wiki hab ich nix gefunden wie man an den Cardinal von den Einzelnen Buchstaben kommt!
wenn man mit glCallLists darauf zugreift übergibt man ja einfach den gesamten zu rendernden Text als Pointer also - ja man übergibt den Pointer auf den zu rendernden Text (so is doch jetzt richtig oder?)
Ich hab das dann einfach so ausprobiert:
Code:
var
I:Integer;
TextOutX:String;
TextColor :record
R:Single;
G:Single;
B:Single;
end;
TextStyle: GLint;// Wird Standardmäßig auf GL_FILL gesetzt.
Leider gibt es da immer eine Zugriffsverletzung wenn er bei glCallLists ist!
woran kann das liegen?
leider habe ich auch nicht gefunden wie glCallLists arbeitet sonst hätte ich es einfach kopiert und abgeändert -
aber scheinbar steckt mehr dahinter als nur vordefiniert der Mehrfachaufruf von glCallList
Vielleicht hat ja jemand eine Idee! ?
und wo müsste ich den Rotieren wenn ich das so im Halbkreis hin bekommen will?
ich komm da irgendwie noch ein bisschen durcheinander... ich tippe mal davor.
Also erst den Abstand "translaten" der dann dem Radius entspricht und dann um den Passenden Winkel Rotieren -
dazu müsste man ja eigentlich wissen wie breit ein Buchstabe ist
-> das ist wahrscheinlich unmöglich zu errechnen:
--> weil man weiß ja nur wie Hoch ein Buchstabe ist - immer 1 (hab ich irgendwo hier gelesen *g* )
- auch würde das sehr rechen aufwendig werden -
zu mindest wenn man immer die Breite zur höhe des Buchstabens in der Original schrift sich geben lässt
(da gibt es glaub ich irgendwo Möglichkeiten...)
und dieses Verhältniss dann auf seinen Großen Buchstaben anwendend
--> weil man müsste ja auch schauen das man dabei auch noch die Tiefe der Buchstaben mit einbezieht....
Bin schon gespannt was ihr dazu sagt
Ich hoffe ich hab mich verständlich ausgedrückt *duck*
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Ähm, wenn du nur immer einen Buchstaben zeichne möchtest, dann kannst du auch glCallList benutzen.
Zu der Größe der Buchstaben. Ich meine die gesammte Schrifthöhe wird immer als 1 gesehen. Wenn du diese Buchstaben skalieren möchtest sollest du alle Seiten gleichzeitig verändern. Also bei glScale für alle Parameter den selben Wert. Dann bleibt es gleichmäßig.
Die Breite der Buchstaben kann variieren meine ich. Diese Informationen bekommst du aus dem letzten Parameter bei wglUseFontOutlines. Ich würde dir ja einen msdn link posten aber die scheinen greade ein bisschen tot zu sein. Aber in diesem Record welches sind in dem Array befindet sind die Daten über die Buchstaben enthalten. Die genau Größe deines Zeichen müssten die beiden BlackBox Werte sein.
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.