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

Aktuelle Zeit: Sa Jul 05, 2025 15:42

Foren-Übersicht » Sonstiges » Meinungen zu den Projekten
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 169 Beiträge ]  Gehe zu Seite Vorherige  1 ... 4, 5, 6, 7, 8, 9, 10 ... 12  Nächste
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 05, 2009 22:43 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Die Mathematische Korrektheit stößt dann an die Praxisgrenzen, wenn du versuchst Fenster/eien GUI zu zeichnen. Wenn du diese Vergrößerst, sollte der neu hinzugekommene Platz unten Rechts sein. Mit dem Mathematischen Koordinatensystem wird sowas sehr kompliziert. ;)

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 06, 2009 10:41 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Also wenn ich es nicht vergesse, dann werde ich mir dein Projekt mal ansehen. ;)

Was die Ausgabe von Text angeht. Da hast du sicherlich irgendwie recht. Ich denke es wird genügend geben die ihr Koordinatensystem so ausgerichtet haben. Allerdings kann ich so nicht ganz abschätzen was da alles beachtet werden muss. Im Endeffekt müsste ich die Reihenfolge der Vertices anpassen und eigentlich auch dauerhaft die Projektion erfragen um das passend anordnen zu können. Wobei genau solch eine Anpassung mir da schon fast ein Stückchen zu weit geht. Also ich denke aktuell werde ich deswegen noch nichts unternehmen. Werde es mir aber notieren und sollten sich deswegen mehrere Leute beschweren, dann muss ich mir was einfallen lassen.

Verdana: Das Copyright dabei liegt bei Microsoft. Und nur weil die es irgendwo kostenlos zum Download anbieten heißt es nicht, dass es jeder verbreiten darf. Alternativ zur Angabe einer Fontdatei könntest du aber auch den Namen eines Fonts angeben. Dazu brauchst du den Creator TS_CREATOR_GDI_FACENAME. Das das Font in Windows immer enthalten ist sparst du auch Platz. Alternativ zur Alternative kannst du auch bei Fontseiten wie 1001fonts.com nach OpenSource oder Freeware Fonts schauen. Das Dustismo was bei meinen Beispielen dabei ist unterliegt der GPL2 und sollte somit eigentlich keine Probleme bei der Weitergabe machen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 06, 2009 15:16 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Als Font kann ich auch noch die DejaVu-Reihe empfehlen, die sieht ganz okay aus und unterstützt schon einiges an Unicode.

@Lossy: Wie wärs mit einem Flag, der angibt, was für ein Koordinatensystem vorhanden ist oder einfach die Zeichenrichtung bestimmt?

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 06, 2009 16:27 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Lord Horazont hat geschrieben:
@Lossy: Wie wärs mit einem Flag, der angibt, was für ein Koordinatensystem vorhanden ist oder einfach die Zeichenrichtung bestimmt?

Da ist ein Fehler in deinem Satz. Das einfach. ;) Ich richte alle Zeichen an der Baseline aus. Diese ist bei einem veränderten Koordinatensystem aber nicht mehr unten sondern oben. Entsprechend muss ich die Positionen aller Zeichen anders berechnen. Im Blockmodus kommt noch hinzu, dass ich die Zeilen anders positionieren muss. (Zu mal der X, Y und Höhe, Breite als Parameter hat) Sonst wäre die erste Zeile ganz unten. Mir stellt sich da auch die Frage ob es nicht vielleicht Sinn machen könnte, dass die Bibliothek so etwas automatisch erkennen können sollte. Es nützt nichts, wenn ich ein Flag mache und trotzdem jeder Zweite/Dritte nachfragt, weil es per Default anders ist.

Ich sage nicht, dass es kompliziert oder unmöglich ist. Nur hatte ich bisher (gibt Leute die müssen manchmal arbeiten) noch keine Möglichkeit mir das wirklich genau anzusehen. Und so lange ich nicht genau weiß wo überall Probleme und Randeffekte auftreten können halte ich mich geschlossen.

Die Bedienung der Bibliothek hat für mich oberste Priorität. Durch eine Funktion/Option/Flag, die nicht bis zu letzt durchdacht ist kann man sich die Bedienung sehr leicht zerschießen. Wenn das von der Handhabung dann zu kompliziert wird, dann tendiere ich persönlich eher dazu zu sagen "der Ursprung muss oben links sein" als das ich die einfache Bedienung opfere.

Nebenbei bemerkt hat diese "Problem" für mich keine wirklich hohe Priorität. Es gibt reichlich Dinge die wesentlich dringender implementiert werden sollten. Als Workaround dafür könnte womöglich auch glScalef(1, -1, 1);, direkt vor der Textausgabe, vollkommen genügen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Mär 06, 2009 17:14 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Wie wärs, wenn du vor dem Zeichnen einfach(!) optional das Koordinatensystem für die passend ausrichtest?

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mär 07, 2009 11:04 
Offline
DGL Member
Benutzeravatar

Registriert: Di Apr 29, 2008 15:18
Beiträge: 62
Flash hat geschrieben:
Wie wärs, wenn du vor dem Zeichnen einfach(!) optional das Koordinatensystem für die passend ausrichtest?

Das würde den Benutzer aber vollends durcheinanderbringen. Er denkt ja, der Koordinatenursprung wäre unten links und richtet seine Koordinaten danach aus - und dann ist plötzlich alles durcheinander, weil die TextSuite die Y-Koordinate "auf den Kopf" stellt.

Besser wäre eine Art "Fehlersuche", wie es sie in vielen Handbüchern zu technischen Geräten gibt:

Problem: Es wird kein Text angezeigt, obwohl selbst gezeichnete Quads sichtbar sind.
Lösung:
  • Aktiviere den Parameter "TS_DEBUG_DRAW_CHAR_RECTS"
  • Deaktiviere CullFace
  • Überprüfe, ob der Koordinatenursprung oben links ist


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Mär 07, 2009 20:08 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Nein, ich mein das so, dass klar gesagt wird: Der Koordinatenursprung ist Links/Oben. Und dann ist das für die Lib eben so.

Wobei...die Textsuite ist nicht mit einer GUI zu vergleichen. Die Suite muss variabler einsetzbar sein. Z.B. kann jemand wollen, dass der Text 3Dimensional in der Szene positioniert wird. Z.B. als Vertexbeschriftung.

Die Frage ist, ob das momentan schon geht, oder wird der Text immer im Orthomodus gezeichnet?

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 09, 2009 09:53 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Tschuldigt. War am Wochenende nicht oder nur kaum an meinem Rechner.

Was die flexible Einsetzung angeht. Mehr also die Links sage ich dazu nicht. :P
http://textsuite.opengl24.de/images/gallery/3D_1.png
http://textsuite.opengl24.de/images/gallery/3D_2.png

Was Zeichnerei angeht. Es besteht wie schon mal gesagt auch die Möglichkeit direkt vor dem Zeichnen ein glScale(1, -1, 1) aufzurufen und dann wird der Text gespiegelt. Muss direkt nach dem Zeichnen aber noch mal gemacht werden, da sonst Translates etc falsch sind. Nur so etwas kann ich in der Bibliothek aber nicht machen. Das würde zu viel Zeit kosten. Es kann auch gut sein, dass der Text Wort für Word oder Buchstabe für Buchstabe übertragen wird. Und dann bekomme ich bei so etwas zu viele Aufrufe. Denn das ist ja auch einer der Stärken der Bibliothek. Man könnte sich auch selber den Text zusammen basteln. Wenn man das müsste wäre es aber eine Schwäche der Bibliothek. Aber man könnte es.

Ich denke aber, dass es wenn dann schon darauf hinaus laufen sollte, dass ich eine Option mache und dann intern die Positionen umrechne. Aber aktuell genügt es mir zu sagen, dass es so sein muss wie es sein muss.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 12, 2009 10:37 
Offline
DGL Member

Registriert: Di Sep 19, 2006 13:24
Beiträge: 173
Ich hab da mal eine Frage, im Tutorial schreibst du das man Text mit "tsTextOut('This is just a little test.');" ausgeben kann und gerade in deiner Projektseite schreibst du:
"tsFontCreateCreatorA('Blahhh', FontSize, TS_STYLE_NORMAL, TS_DEFAULT, TS_DEFAULT, @FontID);"

Ich kann aber weder einen Constructor mit dem A aufrufen noch etwas ohne A ausgeben, wodran liegt das? (ich hoffe das das mein Problem löst das ich den Text nur als merkwürdige ungleichförmige Kästchen sehe). Ich habe zur Initialisierung alles gemacht wie in "faq_to_print_some_text.html" beschrieben. Ich benutze die Version die zum 8.Dezember 08 zum download stand.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 12, 2009 11:57 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Die Version vom 08.12.08 ist noch eine Entwicklerversion. Die richtig echte stable 0.8 ist die vom 05.01.09. Du solltest auch auf diese Version updaten.

Alle Methoden die Strings als Parameter bekommen oder liefern können haben entweder ein A oder ein W am Ende des Namens. Zu mindest in der Stable 0.8. Von tsTextOut gibt es sowohl eine mit A als auch mit W. Das A steht dabei für AnsiString und W für WideString. Sonst sind diese Funktionen aber immer vollkommen identisch. Es spielt also keine Rolle welche von beiden du benutzt. Entsprechend nenne ich diese Methoden meistens auch nur tsTextOut. In dem Fall wohl etwas verwirrend. Von tsFontCreateCreator gibt es aber nur eine Ansi Variante. In den Entwicklerversionen vor 0.8 hatte ich das aber noch nicht an das Schema angepasst. Entsprechend gibt es bei dir nur eine Version ohne A. Ab 0.8 wird das aber grundsätzlich immer so sein.

Was die ungleichförmigen Kästchen angeht. Du solltest vor dem Zeichnen Blending aktivieren. Das ist aus dem FAQ Eintrag nicht ersichtlich. Die Bibliothek zeichnet nur texturierte Quads. Damit die unwichtigen Teile der Zeichen nicht gezeichnet werden muss blending aktiviert werden. Das mache ich aus ideologischen Gründen aber nicht selbst. Sondern das muss von Entwickler erledigt werden.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 12, 2009 12:07 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

nur als kleine anregung, mach das mit dem A und W doch so wie die WinAPI.
Also schon getrennt lassen, aber eine default einbindung die per define ausgewählt wird.

Bei der WinAPI ist es z.B. so das

doSomething() immer doSomethingA() entspricht, ausser man hat "UNICODE" als define in den settings, dann entspricht es doSomethingW().

Das würde einem das unschöne A/W ersparen und man könnte notfalls nur per define von ANSI auf UNICODE wechseln :)

Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 12, 2009 13:29 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Ja das stimmt. Das ist an die API von Windows angelehnt. Allerdings die Methoden ohne A/W sind eine Erfindung von Delphi.

Ich finde es allerdings mit besser, da weiß man genau woran man ist. Und es gibt nicht von allen Methoden eine WideVariante. Teilweise sind diese auch nicht geplannt. Wird dann noch verwirrender, wenn man UNICODE sagt und trotzdem eine Ansi Methode vorgesetzt bekommen würde. Bzw könnte man bei der Weitergabe von Code auch leicht sein Unicode auf Ansi trimmen, wenn das configfile vergessen wurde und das Define nicht gesetzt wäre.

PS: Ja vielleicht bin ich manchmal paranoid. ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 12, 2009 13:39 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Lossy eX hat geschrieben:
Ja das stimmt. Das ist an die API von Windows angelehnt. Allerdings die Methoden ohne A/W sind eine Erfindung von Delphi.

Ne, in C++ gibt's das auch ;)

Beim rest hast du natürlich recht.. aber ist denk ich auch geschmackssach :wink:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 12, 2009 14:37 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Aya hat geschrieben:
Lossy eX hat geschrieben:
Ja das stimmt. Das ist an die API von Windows angelehnt. Allerdings die Methoden ohne A/W sind eine Erfindung von Delphi.

Ne, in C++ gibt's das auch ;)

Wusste ich nicht. Dann ziehe ich meine Aussage zurück. Habe nur gesehen was die DLLs exportieren. Und das war nur mit Kürzel.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Mär 12, 2009 15:30 
Offline
DGL Member

Registriert: Di Sep 19, 2006 13:24
Beiträge: 173
Super, vielen Dank :)

Ja das mit dem Blending hat das Problem gelöst und die neue Version beruhigt mich da ich endlich auf einem Level mit den Tutorials bin :)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 169 Beiträge ]  Gehe zu Seite Vorherige  1 ... 4, 5, 6, 7, 8, 9, 10 ... 12  Nächste
Foren-Übersicht » Sonstiges » Meinungen zu den Projekten


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 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.009s | 14 Queries | GZIP : On ]