Text schreiben in 3D
Übersicht

![]() |
EPSBetreff: Text schreiben in 3D |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi zusammen,
ich befasse mich noch nicht sehr lange mit der 3D Materie daher auch diese wohl etwas dumme Frage, aber was solls. Also, um mir den Einstieg in die 3D Welt etwas zu erleichtern und weil es sich für die Thematik anbot, habe ich diese SpriteLib benutzt: http://www.blitzbasic.com/code...p?code=456 funzt auch alles einwandfrei. Nur wollte ich jetzt eine Textausgabe realisieren. D.h. ich lade als "3DAnimImage" die Grafiken der Buchstaben. Der Text der geschrieben werden soll ändert sich im laufe des Programms, sagen wir es ist eine Bestenliste o.ä. Wenn ich jetzt in 2D wäre würde ich auf dem BackBuffer einfach jeden Buchstaben (bzw. Bildframe) per DrawImage zeichnen. Mein Font ist aber schön antialised mit nem Schatten drunter und das kann ich mit der Lib prima darstellen - in 3D versteht sich. So, nun aber zum Problem: Mit der Lib kann ich nur jeweils einen Buchstaben darstellen. Also wenn ich z.B. "ABA" schreiben möchte, dann setzt er mir das erste "A" an die gewünschte Position, dann das "B" und wenn ich jetzt das zweite "A" schreibe wird eigentlich nur das erste in der Position verändert. Das ganze hängt natürlich damit zusammen das die Grafiken durch die Lib als Meshes gehandhabt werden und mir ist demnach auch klar warum dies passiert, jedoch suche ich nach einer Möglichkeit wie ich trotzdem meinen schönen Font benutzen - und damit die Vorzüge der 3D Darstellung - und Text frei schreiben kann. Ich könnte natürlich nach jedem gesetzten Buchstaben ein RenderWorld durchführen damit das ganze in den BackBuffer kommt, aber bei angenommenen 10 Zeilen mit 20 Zeichen wäre das 200 x RenderWorld und das ist ja wohl Unsinn. Die zweite Möglichkeit wäre pro zu schreibenden Buchstaben jeweils den passenden als Grafik (Textur) zu laden - aber auch das erscheint mir etwas Sinnfrei. Zusammengefasst heißt das in etwa: "Wie kann ich einen schönen Font in 3D als Text auf den Bilschirm zeichnen?" Vielen Dank für die Aufmerksamkeit und hoffentlich für Hilfe. |
||
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier
Man kann sich öfter als zweimal im Leben halb tot lachen. |
![]() |
Ebola33 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
ganz einfache Sache das. Du musst einfach nur zusehen dass deine Buchsaben bzw. Zahlen und Sonderzeichen auf einer Textur liegen. Dann benutzt du mein altes Single Surface System ![]() BlitzBasic: [AUSKLAPPEN]
Das war mein erster Gehversuch auf diesem Gebiet. Mit ein wenig logischem Denken sollte es dir gelingen diese Funktionen richtig zu nutzen. Jetzt kannst du soviele Buchstaben benutzen wie bei SS_Sprite_Max angegeben sind. Die entstehen dann alle auf einer Surface bzw. in einem mesh. Dadurch kannst du sie in einem Durchgang rendern. Bedenke jedoch dass pro Buchstabe dann 4 Vertices und 2 tris erstellt werden. Hast du längere Texte so empfiehlt es sich vorher deine Buchstaben einfach in einen Texturbuffer zu schreiben und ein Sprite damit zu belegen. Melde dich sollten noch Fragen offen sein. Mfg ebo |
||
ansteckend... ![]() verstaubtes Projekt : http://www.mitglied.lycos.de/ebola33/ |
![]() |
EPS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi ebo,
vielen Dank, das ist was ich suchte, wird zwar etwas dauern das an meine Geschichte anzupassen, aber vom Prinzip her kapier ichs - DANKE |
||
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier
Man kann sich öfter als zweimal im Leben halb tot lachen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group