Bitmapfont selbst gemacht - zu performancelastig?



  • Hallo!
    Ich will mir selbst eine FontKlasse schreiben. Ich habe vor, mir eben eine Bitmap mit allen 255-32 Zeichen zu erstellen und für jeden Buchstaben ein Quadrat (aus 4 Vertizen natürlich) aus 2(wie könnte es anders sein?) Dreiecken zur zu Verfügung stellen. Das gesamte Wort dann eben als Rechteck, welches mit Hilfe des Indexbuffers ausgegeben wird und fertig ist das TextRechteck.

    Ist diese Idee zu performancelastig oder ist das locker machbar?

    Kevin



  • Das ist machbar, aber schwieriger als es sen müsste, denke ich. Ich hab einen etwas anderen ansatz verfolgt. Was ich bei deiner Methode blöd fände, wäre das du deine Vertices in einen VertexBuffer stecken musst(wegen dem indexbuffer), den du aber für jeden Text neu erstellen musst.
    Denn du musst jedes mal deine Buchstaben-Vertices an die Position, an der du sie haben willst, transformieren und einen VertexBuffer draus machen + einen IndexBuffer erstellen

    Ich mache es jedenfalls so:
    - Alphabet-Textur mit ColorKey laden
    - Eine Rechteck aus kleinen Rechtecken für jeden Buchstaben zusammensetzen
    - Für jeden Buchstaben die Texturkoordinaten festlegen, die dem Buchstaben auf der Textur entsprechen

    Ich schätz mal mein Methode wäre schneller, weil das erstellen von Index und Vertex/Index Buffer bei einer kleinen Anzahl von Vertices länger dauert, als man durch den Buffer beim Rendern wieder gewinnt.



  • Da dank ich dir doch mal 🙂



  • Das mit dem Index-Buffer ist Quatsch, der ändert sich doch nicht - nur in der Größe, und man könnte ja z.B. einen Index-Buffer für 1000 Zeichen machen und dann bei 100 Zeichen einfach nur die ersten 10% davon nutzen...
    Außerdem täte es wohl auch ein Vertex-Buffer alleine.


Log in to reply