I have to make applications with lots of text, pages, scrolls, menus, text.
I find it very hard to make the rendered text as I planned in the design.
The main problems are:
-I cannot choose font weights in a family (I can make it bold or not bold, but I can’t choose light, bold, black, etc)
-Pixel size doesn’t match. (ex: I’m using billboard pixel with 18px size, but it renders a smaller text than real 18px in other software with same backbuffer and renderer size)
-Font appears to be jagged (even with anti-aliasing the text doesn’t seem very smooth)
Other secondary problems are:
-Paragraph breaks lines when they shouldn’t shouldn’t. (ex: a line ending with a “(” and the next line starts with the text inside the parentheses)
-Styling individual elements in a string (I know this is more complex, but sometimes I have to create lots of work-a-rounds to make highlight a word with another color or something).
I have tried rendering the text with an HTML texture it seems to give me more flexibility but I’m afraid it will get too slow if I use a lot of HTML textures, other alternative, is a little complex for the kind of applications I am making but it would be to add all strings in a spread to a node which renders them all in the same HTML texture.
But I would like to know what alternatives/workarounds do you recommend for what I intend?
Generally text rendering in 3d applications is pain, and vvvv suffers from it alot. As soon as you do a lot text you gonna suffer with FPS. First of you can try DX11 Text nodes there is a styling on them.
General approach i do with text scenario is to generate all the text as textures during the loading times… then you can operate on textures, witch isn’t that great in terms of dynamic text, however keeps your perf…
@sebl oh nice, just noticed that bug two weeks back. But it’s a shame the advanced and therefore styleable text works in pixel/screenspace only. Which probably makes sense as it’s directwrite, but still a shame there’s not as much flexibility for rendering text in world space.
Still doing a lot with imagemagick, started nodes a while back based on their library, but I am stuck with the ready to use commandline tool for generation still, as there’s always the time pressure that doesn’t allow for much research on such handy projects …
does it really not work unless it’s pixelbillboarded? i didn’t get it working, but didn’t try very hard.
i’d say it shouldn’t be to hard to alter the transformations so that we could use the vvvv-transforms directly.
looks like it’s just a matter of scaling. maybe the factor can be derived from renderer-dimensions
hehe, this image gets cropped (is this an avoidable issue @dave) so you don’t see the rendered text