Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Mi Jul 16, 2025 17:24

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 14 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Textausgabe bei einer Sphere
BeitragVerfasst: Do Mär 02, 2006 19:34 
Offline
DGL Member

Registriert: So Feb 19, 2006 18:52
Beiträge: 110
Hallo,

kleines Problem :

Ich hab eine Sphere und muss da ringsrum Text ausgeben.
Nun hängt der Text, der links neben der Sphere steht, also auf -x Achse immer in die
Sphere hinein.

Was kann man da machen ?

Kann man Text direkt an die Sphere anpassen, also das der immer direkt drauf liegt ?
Oder kann man den irgendwie so darstellen das er nicht hineinhängt ?

Matthias


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 02, 2006 20:01 
Offline
DGL Member
Benutzeravatar

Registriert: Di Sep 06, 2005 18:34
Beiträge: 362
Wohnort: Hamburg
Hi ...

Da fallen mir 2 Wege ein ...

1. du berechnest die Länge des Textes in Koordinaten
2. du schreibst deinen Text von rechts nach links (was aber wohl nicht so schön sein dürfte)

Implementierung von 1 dürfte nicht all zu schwer sein.
Vorausgesetzt jedes Zeichen hat die gleiche Breite kannst du Breite * Textlänge nehmen und deine x-Koordinate entsprechend verschieben ...
Eine automatisierte möglichkeit wird es wohl nicht geben ...

Gruß
Shai

_________________
Der Mensch hat neben dem Trieb der Fortpflanzung und dem zu essen und zu trinken zwei Leidenschaften: Krach zu machen und nicht zuzuhören. (Kurt Tucholsky)
Schwabbeldiwapp, hier kommt die Grütze. (Der Quästor)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 02, 2006 20:49 
Offline
DGL Member

Registriert: So Feb 19, 2006 18:52
Beiträge: 110
Hallöchen,

1. ist eine gute Idee, aber ich glaub nicht das das so einfach geht, denn meine "Erde" dreht sich ja ....hmmm, also ist ja Links in dem fall nicht immer links, also eine bestimmte Koordinate :-(

Matthias


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 02, 2006 21:53 
Offline
DGL Member
Benutzeravatar

Registriert: Di Sep 06, 2005 18:34
Beiträge: 362
Wohnort: Hamburg
dreht sich der text genau mit der Sphere mit? d.h. ist immer an einem best. Punkt auf der Sphere gehäftet?
dann kannste evtl. was mit der normalen machen um den Text auszurichten
normale = Punkt - Mittelpunkt

Mit dem Skalarprodukt zw. Normale und Sichtvektor müsste das gehen
z.B. sowas:
Code:
  1.  
  2. if (x < 0) // linke seite
  3.     x = x - Textlänge * (1 - Normale * Sichtvektor)
  4. else
  5.     x = x + Textlänge * ( 1 - Normale * Sichtvektor)
  6.  


Das wäre n Ansatz der mit jetzt auf die Schnelle einfällt ...

Gruß
Shai

_________________
Der Mensch hat neben dem Trieb der Fortpflanzung und dem zu essen und zu trinken zwei Leidenschaften: Krach zu machen und nicht zuzuhören. (Kurt Tucholsky)
Schwabbeldiwapp, hier kommt die Grütze. (Der Quästor)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 02, 2006 22:19 
Offline
DGL Member

Registriert: So Feb 19, 2006 18:52
Beiträge: 110
Hallo,

he prima, das funktioniert.
Zwar nicht ganz so wie Du es vorgeschlagen hast, aber so ähnlich.
Hab einfach alles was "links" erstellt wird ( unterscheidung anhand der Longitude)
weiter rausgesetzt.

Jetzt hab ich noch ne andere Frage.
Ich mach aber lieber ein neues Thema, denn das hat hiermit nichts zu tun.

Geht darum die Sphere mit der Maus zu bewegen.

Dank Dir
Matthias


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 02, 2006 22:44 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Verwendest du eigentlich immer noch 3D-Text?

Wenn ja dann wäre eine wesentlich bessere Variante es mit TextureFonts in Kombination mit Billboarding zu machen.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 03, 2006 11:35 
Offline
DGL Member

Registriert: So Feb 19, 2006 18:52
Beiträge: 110
Hallo,

ja benutze ich immer noch.
Ich habs noch nicht hinbekommen diese anderen Texturen zu erstellen und zu benutzen.
Bin noch auf der Suche nach einem Beispiel oder so.
Es wird zwar alles erklärt in der Wiki, aber ich weiss wiedermal nicht wie
das ganze der Reihe nach gehen soll.

Na ich such mal weiter.....

Matthias


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 03, 2006 12:15 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Habe dazu auch mal ein Programm und eine Unit geschrieben. Diese benutzt praktischerweise für die Texturen auch die glBitmap. Allerdings bin ich derzeit auch dabei das ganze neu zu schrieben.

In der Unit sind auch Klassen enthalten um Polygon und BitmapFonts zu erstellen. Code sieht in etwa so aus.
Code:
  1. // Erstellen
  2. fText := TglTextureText.Create;
  3. fText.Texture := TglBitmap2D.Create;
  4. fText.Texture.LoadFromFile('Tahoma.tga');
  5. fText.Texture... // Settings etc;
  6. fText.Texture.GenTexture;
  7. fText.ReadCharWidthsFromIni('Tahoma.ini', 'Char Widths');
  8. fText.BuildFont;
  9.  
  10. // Zeichnen
  11. glTranslate. Wo Auch immer hin.
  12. fText.PrintText('Tröt');
  13.  
  14. // Frei geben
  15. fText.Texture.Free;
  16. fText.Free;


Die Textur ist deswegen eine getrennte Instanz, da man sich zum Beispiel eine Textur mit einer GUITexture mischen kann und nicht ständig hin und her wechseln muss. Oder zwei bis vier Schriftarten in einer Textur haben kann.

Ach ja. Je nachdem ob du weiche oder Harte Kanten bei deiner Textur haben willst kannst du auch sagen UseBlendFunc := True oder UseAlphaFunc := True. Stehen aber beide standard auf False und du kannst das auch außerhalb setzen.

PS: Das Laden und Frei geben von dem Spaß sollte auch nur einmal am Anfang und am Ende der Anwendung sein. Also nicht ständig neu erstellen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 03, 2006 12:30 
Offline
DGL Member

Registriert: So Feb 19, 2006 18:52
Beiträge: 110
Hallo,


sorry aber .. hä ????

Was wie wo muss denn da wo hin ???

Matthais


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 03, 2006 12:38 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Das Erstellen kommt bei dir in InitTextures oder so etwas was zum Anfang aufgerufen wird. Die Settings können solche Dinge sein wie Filter oder MipMaps. Wobei ich MipMaps wahrscheinlich auf jeden Fall ausstellen würde.

Das Freigeben in Formdestroy.

Und das Zeichnen bei dir wärend dem Rendern.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 03, 2006 18:14 
Offline
DGL Member

Registriert: So Feb 19, 2006 18:52
Beiträge: 110
Hallo,

das klappt nicht :-(

Kannst Du mir mal ne Schritt für Schritt Anleitung geben wie das mit dem
Text gehen soll ?

Ich hab deinen Font Creator genommen und hab jetzt ne Datei namens Tahoma.tga und Tahoma.ini im Projektverzeichnis liegen und nun ?

Was brauch ich für Variablen ( gloabal ? ) ?
Wie genau erstelle ich die Font und wie gebe ich die aus ?

Bei meinem letzten Versuch war plötzlich meine Sphere ohne Texturen oder so.
Keine Ahnung ob die überhaupt noch da war ?
Das scheint immer zu passieren wenn ich in den glOrtho mode schalte.

Kannst Du mir da nochmal helfen ?

Danke
Matthias


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 03, 2006 18:18 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Mal ne dumme Frage, aber was für einen Vorteil haben Polygonfonts gegenüber Texturfonts, außer, dass man sie beliebig skalieren kann?

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 03, 2006 18:26 
Offline
DGL Member

Registriert: So Feb 19, 2006 18:52
Beiträge: 110
Hallo,

ich hab keine Ahnung, da musste Lossy eX fragen.
Mir gehts nur darum das die Buchstaben nnicht mehr in meiner Sphere verschwinden wenn die Links davon stehen.
Anderer seits gehts mir ja auch um den lerneffekt.

Matthias


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mär 04, 2006 13:43 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Sie sind 3Dimensional und man kann sie beliebig Skalieren ;)

SChöner aussehen tun sie jedenfalls nicht.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 14 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.010s | 14 Queries | GZIP : On ]