Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

07.08.2003, 00:59

Ausgabe von Schriften

Hi,

ich habe mir mal die Schriftausgabefunktionen des Buches angesehen.
Irgendwie sehen die Buchstaben nicht besonders gut aus. Auch sind die Zeichenabstände nicht homogen.
Stimmt da was nicht ?

ciao,
TomCat :)

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

07.08.2003, 01:07

Ich persönlich finde die ausgegebenen Texte eigentlich schön. Naja, außer das "Ladevorgang..." bei Galactica. Es könnte auch an überhöhtem Multi-Sampling liegen. Die Zeichenabstände sind auf den Pixel genau gemessen. Wenn Du bei der Schrift jedoch Anti-Aliasing verwendest, könnten die Zeichen einen Pixel breiter oder höher werden, weil dort noch ein sehr dunkler (aber eben nicht schwarzer) Pixel am Rand liegt.
Den Screenshot habe ich gerade eben gemacht (Ausschnitt):

(Link)

Das ist das Beispielprogramm 03.03. Also ich persönlich finde das eigentlich sehr ansprechend. ;)

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

3

07.08.2003, 02:12

Naja, ich habe trotzdem nochmal in die Quellcodes geschaut und in der Tat auch noch etwas verbessert. So sieht es jetzt mit der verbesserten Zeichenbreitenerkennung aus:

(Link)

Ich werde bei Gelegenheit mal die Änderungen am CreateBitmapFont-Tool bekanntgeben!

4

07.08.2003, 11:08

Hi,

hmm, vielleicht ist das generell nicht so das Wahre, eine grosse Bitmap mit all den (leider nur 256, was ist mit Unicode?) Zeichen zu erstellen, und dann in einer zusätzlichen Datei zu versuchen, die Abstände irgendwie hinzubekommen. Die Bitmapdarstellung hat halt auch das Problem bei der Aufdehnung, da wird alles sehr unscharf. ;)

ciao,
TomCat :)

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

5

07.08.2003, 11:30

Das machen aber praktisch alle Spiele so. Und man kann sich ja auch verschieden große Versionen der Schriftarten anfertigen. Natürlich könnte man es auch mit Polygonen versuchen, aber ich bezweifle, dass die besser aussehen, wenn man sie z.B. stark verkleinert... dann wäre Multi-Sampling auf jeden Fall ein Muss.

6

07.08.2003, 12:01

Hi,

am besten können Schriften dargestellt werden, wenn eine Bezierkurvenberechnung durchgeführt wird. Das GDI lässt grüssen. ;)
Warum schreibt man denn die Schriften nicht zur runtime mit dem
GDI auf einer Surface oder Textur, und verarbeitet diese dann weiter?
Da hat man doch die Schriften astrein ? Oder ?

ciao,
TomCat :)

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

7

07.08.2003, 13:12

Ja, das wäre wirklich astrein. Aber es gibt leider ein Problem. Bei DirectDraw-Anwendungen (z.B. Ricardo 2) habe ich das auch so gemacht, also mit GDI. Aber es ist nicht unbedingt die schnellste Methode und Direct3D unterstützt die Abfrage eines GDI-Device-Contexts nur in bestimmten Situationen. Zum Beispiel nicht bei Multi-Sampling. Dann geht das schonmal nicht.

8

07.08.2003, 13:24

Hi,

GDI ist langsam klar. Es stellt sich halt die Frage, ob eine Schrift tatsächlich von einem Frame zum nächsten schon aufgebaut werden muss. Wohl eher nicht. So schnell kann niemand lesen.
In meiner Applikation wäre das GDI eine angenehme Sache, auch wegen der sonstigen Zeichenroutinen. ;)

Warum soll denn kein Multisampling gehen ?

Ich weiss jetzt nicht ob das ohne weiteres geht.
Aber kann man eigentlich mit dem GDI in eine Surface zeichnen während Direct Graphics rendert ?
Wenn das geht, steht dem GDI nichts mehr im Wege.
Was sagst Du dazu ? ;)

ciao,
TomCat :)

9

07.08.2003, 13:41

Hi,

da fällt mir gerade ein, das muss schon gehen. Ich habe mal mit der GDI
eine Druckerausgabe gemacht während D3D gerendert hat.
Hmm, aber der DC war halt der Drucker, nicht die Grakarte.

ciao,
TomCat :)

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

10

07.08.2003, 13:45

Schau Dir mal diese Diskussion hier an:
http://groups.google.de/groups?hl=de&lr=&ie=UTF-8&threadm=ue52D%240DDHA.28568%40TK2MSFTNGP10.phx.gbl&rnum=1&prev=/groups%3Fq%3DGetDC%2Bmultisampling%26hl%3Dde%26lr%3D%26ie%3DUTF-8%26selm%3Due52D%25240DDHA.28568%2540TK2MSFTNGP10.phx.gbl%26rnum%3D1

Da wundern sich selbst die Leute von Microsoft, dass GetDC mit einer Multi-Sampling-Surface funktioniert. Dort wird gesagt, dass das wohl ein Treiberfehler wäre, da GDI keine Ahnung von Multi-Sampling hat und normalerweise der GetDC-Aufruf einen Fehler verursachen müsste. Also darf man sich nicht drauf verlassen, dass es klappt.
Ich meine, auch mal in einer früheren Version von DirectX 9 in der Dokumentation gelesen zu haben, dass lockable back buffers nur ohne Multi-Sampling funktionieren.

Werbeanzeige