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
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »dot« (19.06.2012, 23:54)
Also eine kombination aus allen dreien Hätte ich auch selbst drauf kommen können. Ich müsste nur sehen, wie auch Crossplattform die Sprache ermittel, aber zum Glück sinds ja nur Windows, Mac und LinuxIch geh den Weg über Caching. Ich hab eine oder mehrere Texturen. Wenn eine Glyphe benötigt wird, dann schau ich nach, ob sie bereits in einer Textur liegt. Wenn nicht, wird ein freier Platz gesucht und die Glyphe dort hin geschrieben. Man könnte natürlich evtl. anhand der Sprachinformation des aktuellen Benutzers etc. sehr gut raten, welche Glyphen wohl am ehesten benötigt werden. Eine allgemeine Lösung gibt es aber wohl nicht. Da du eben kaum mit Sicherheit im Vorhinein wissen kannst, welche Glyphen du benötigen wirst und welche nicht und die Zahl der Möglichkeiten viel zu groß ist, als dass einfach alles zu laden praktikabel wäre, halte ich Caching für eine gute Lösung.
Kann ich eigentlich Texturdaten verändern, während Sie verwendet wird? In OpenGL 3.1+ brauch ich meine Texturen ja nicht mehr Binden, da ich diese direkt (mittels UniformVariable) in den Grafikkarten Speicher lade. Wenn ich die Daten der Textur dann änder, werden diese dann im Grafikspeicher geändert oder muss ich die Textur erneut "hochladen"?Was die Texturgröße angeht: Ich verwende im Moment einfach eine quadratische Textur, deren Breite/Höhe eine Zweierpotenz ist.
Das ist heutzutage aber nichtmehr wirklich so wesentlich wie es früher einmal war.
Die Textur unterteile ich in kleine (z.B. 4x4) Zellen und speichere mir in einer Bitmap, welche Zellen belegt und welche frei sind. Wenn eine Glyphe in den Cache soll, such ich mir einfach eine Stelle mit entsprechend viel Platz, allokier diese und kopier meine Glyphe dort hin. Funktioniert so weit ganz gut
Werbeanzeige