Font in 3D

Blitz3D Forums/Blitz3D Programming/Font in 3D

RepeatUntil(Posted 2005) [#1]
Quick question. I am using the fontLib program by Cyberseth (details here). I want to use it in a 3D program. What is the correct/most efficient way to display the font in a 3D environment?
- Draw the graphical font as 2D on the screen?
- Draw first this font on a mesh (every frame), and then display the mesh on screen (3D)??

Thanks!


Beaker(Posted 2005) [#2]
I think you can get away with either. But consider these points:

In the past drawing 2D and 3D together has caused problems on some cards with some drivers. This usually resulted in massive slowdown. This may get worse in the future as support for 2D is steadily dropped.

Most text doesn't change every frame and so you can leave most 3D mesh text alone once created.

3D mesh text often looks better because you have full alpha support.

3D mesh text can be scaled (useful for resolution independent HUDs) and rotated.

2D text will probably draw faster when everything works correctly (see first point).


zyd(Posted 2005) [#3]
I use sprites at the moment and I stick them onto the camera.
this means that I can use loads of effects, like rippling/wavey. Flying in, fading etc screeninfo.
But...
I have a particluar problem with this. The sprites
are always "tweened" so they appear to move to the camera
position. resulting in a nasty flicker as the text appears
This does not happen when tweening is off.???


RepeatUntil(Posted 2005) [#4]
Thanks for the answer, beaker!
I have another related question: I want to draw my text on a texture, apply this texture to a sprite, and show the sprite in front of the camera.
But the sprite doesn't look so nice, the text is not so "clear" on the screen compared to 2D text (maybe because of alpha). I create my texture without any special flag, and then I do a "EntityBlend sprite, 3".
You see this here, where the text at the top is 2D, and the other text is on the sprite:


How could I improve the aspect of this text on the sprite?? What are the needed flags for that??

Thanks!