Registriert: Sa Jan 01, 2005 17:11 Beiträge: 2068
Programmiersprache: C++
Wenn du schon wglUseFontBitmaps(DC, 0, 256, FontBase); benutzt, solltest du dir vielleicht auch das Beispiel im Wiki anschauen?
Auch solltest du mal nach Fehlern überprüfen, mich würde es wundern, wenn keiner existiert. Jedenfalls wusste ich nicht, dass OpenGL 256 Displaylisten in 96 reinquetschen kann...
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
i0n0s hat geschrieben:
Auch solltest du mal nach Fehlern überprüfen, mich würde es wundern, wenn keiner existiert. Jedenfalls wusste ich nicht, dass OpenGL 256 Displaylisten in 96 reinquetschen kann...
Witzig aber Wahr. wglUseFontBitmaps erweitert die Displaylisten ohne Kommentar auf 256. Sprich zu Anfangs hat man nur 96 und anschließend sind es 256.
Du kannst die Schriftgröße bei Bitmapfonts nicht verändern. Die sind immer so wie sie sind. Dadurch wirst du nur deine Koordinaten verändern. Und dann könnte es sein, dass diese aus dem Bildschirm herrausragen. Versuche einmal allen Schnickschnack wegzulassen. Also nur das nötigste und dann ein Text in der Mitte des Bildschirmes. Wenn das geht kannst du es stück für Stück erweitern bis es so ist wie du es haben willst.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Lass mal bitte die PushMatrix Befehle weg. Das müsste wenn dann sowieso ein Push und ein Pop sein. Aber 2 Push sind definitiv fehlerhaft.
Das Generieren kannst du so auch lassen. Ich benutze immer die Klasse TFont und die bisher jedes mal funktioniert. Sonst sieht es aber eigentlich okay aus. Außer es befindet sich ein bisschen außerhalb des Bildes, dann zeichnet glBitmap nämlich nichts. Bzw solltest du auch mal dein glOrthoaufruf überprüfen.
der hat dann aber auch polygone in die z ebene oder ? die extruktion, wenn ich die auf 0 stelle, sind die polygone dann weg, seh ich dann noch was ? ich möchte ja net unnötig mit polygonen um mich werfen die man dann eh net sieht.
Registriert: Mo Mai 29, 2006 21:13 Beiträge: 142 Wohnort: Ballenstedt/Sachsen-Anhalt
Theoretisch könnte es auch mit 0 gehen, weiß ich aber nicht.Ansonsten wird sich das wohl kaum vermeiden lassen. Allerdings sind die Geschwindigkeitseinbußen nicht so groß. Ich hatte mal als Test einen ziemlich langen Text ausgegeben (>1000 Zeichen), und die FPS sind kaum runtergegangen. Liegt wahrscheinlich da dran, dass Displaylisten verwendet werden.
Registriert: Mo Mai 29, 2006 21:13 Beiträge: 142 Wohnort: Ballenstedt/Sachsen-Anhalt
Seth hat geschrieben:
kann man nicht text aus quads aufbauen ?
Im Bomberman-Tutorial war was zum Thema Bitmapfonts(Unit BombermanFont.pas). Die sollten in dieser Implementation auch skalierbar sein, da sie auf Quads gezeichnet werden.
Ein Programm zum Fonts erstellen war auch im Tut erwähnt.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Jetzt mal ne ganz bescheidene Frage. Wie viele verschiedenen Größen brauchst du? Oder muss sich die Größe immer an das Fenster anpassen? Dann das wichtigste. Wozu brauchst du es? Also was bezwckst du damit etc. Ich denke wir sind an einen Punkt angelangt an dem wir sehr experimentell werden und mit allen Möglichkeiten um uns werfen.
Polygonfonts: Je nach qualitativen Einstellungen können die sehr wohl verdammt viel Leistung verschlingen. Wenn die Qualität nicht so hoch ist, dann sehe sie eckig und abgehackt aus. Abgesehen davon, dass sie nur aus Polygonen bestehen. Sie haben somit eine Vorder und eine Rückseite. Weiß jetzt nicht ob sie eine Tiefe haben, wenn die Extrusion 0 ist. Aber es wäre dämlich, wenn sie es täten. Aber diese Methode stammt vom Microsoft, damit stehen wieder alle Möglichkeiten offen.
Texturfonts: Ich habe schon mehrfach mit Texturfonts gearbeitet (auch mehr oder weniger aktuell) und diese sollte man normal auch nicht in der Größe verändern. Dadurch erhält man sehr schnell einen riesesn haufen Matsch auf dem Schirm und solche Schrift zu lesen tut mir teilweise in den Augen weh. Wenn man sie unbedingt verändern können muss, dann muss man darauf achten, dass man gewisse Grundvorraussetzungen erfüllt und dass der Bereich in dem die Texturen vergrößert werden nicht zu groß ist. Denn sonst bekommt man dennoch wieder Matsch. Und die Generatoren mit denen man Texturfonts erstellen kann sind alle samt nicht in der Lage die Vorraussetzungen dafür zu erfüllen.
PS: Von dem Programm aus dem Tutorial würde ich besser die Finger lassen, da ich nicht nachvollziehen konnte wie er seine Buchstaben positioniert. Leider ist das nun mal für ein halbwegs sinnvolles Schriftbild eine nicht unwichtige Vorraussetzung.
PPS: Bitmapfonts in OpenGL richten sich nach der Pixelangabe deines Fensters und die wird von Windows vorgegeben.
am besten mit der fenstergröße, sinnvoll wäre das zumindest schrittweise, also für 640*480, dann ab 800*600, dann ab 1024*768 etc.... das beispiel aus dem bomberman tutorial hatte ich auch schon mal ausprobiert, aber da wurden mir die falschen buchstaben angezeigt, ich hatte es soweit fertig, hab ich hier auch mal gepostet, aber die buchstaben waren halt falsch.
hm hatte ich wohl doch net gepostet, oder es wurde net gesendet ^^ das würde erklären warum ich keine antwort bekommen hab. also texturefonts wären schon nett. einzeilig würde reichen, ich hab momentan nur den generator aus dem tut, aber ich würde dann wohl eh so ein tool schreiben und dem sdk beifügen müssen.
es geht ja darum, dass das ganze für den anwender der 2d möglichst kompfortable ist, das heißt, er kann unter einer auflösung von 640*480 entwickeln, pixelgenaue angaben machen und auf 1024*768 siehts dann genau so aus.
Mitglieder in diesem Forum: 0 Mitglieder und 8 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.