Da gibt es 2 Möglichkeiten. Entweder du setzt die Größe mit glOrtho auf einen fixen Wert (640x480). Wobei ich da aber noch auf das Seitenverhältniss achten würde. Da musst du dann aber mal testen welche Schriftgröße sich anbietet. 14 find ich zu wenig. Eher so etwas wie 21. Aber wenn die Schrift vergrößert werden muss wird es matschig. Oder wenn sie verkleinert wird dann wird sie pixelig. Das hast du bei deiner SchriftTextur jetzt auch schon. Je nach Größe und Font kommt das aber unterschiedlich stark zur Geltung.
Dann solltest du nach dem Erstellen des Fonts aber noch ein paar postprocesor hinzufügen. Die sind eigentlich nicht dafür gedacht aber sollte auch gehen.
Delphi-Quellcode:
tsFontCreateCreator(...)
tsPostAddBorder4f(1, 1, 1, 1, 1, 0);
tsPostAddFillColor3f(1, 1, 1, TS_CHANNELS_RGB);
Die sorgen dafür, dass zwischen den Zeichen mehr Platz ist und dass der
RGB Wert weiß ist. Sonst können am Rand leichte schwarze Streifen entstehen, wenn die Schrift vergrößert wird. Bzw Rundungen wären abgeschnitten. Gegen das Verkleinerungsproblem gibt es nichts.
Oder Alternativ setzt du die Schriftgröße ins Verhältniss und benutzt für glOrtho die Größe des Viewports. Sollte sich das Fenster in der Größe verändern, dann erstellst du es im Verhältniss kleiner oder größer. Dann wäre das bei Größenveränderungen zwar nicht 100%tig gleichmäßig aber die Schrift immer Pixelgenau und entsprechend gut lesbar. Denn das Fenster wird man normal nicht immer größer und kleiner machen. Ich persönlich würde da wohl die sauberere Schrift vorziehen. Aber diese Entscheidung liegt bei dir.