Rendering Text (ex9) following a design

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?

Thank you,

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…

1 Like

yes what antokhio said, all static text should just be generated in a 2d graphics software as texture. dynamic text of course suffers from all drawbacks mentioned above.

using DX11.Layer text is a good idea, i think it uses direct2d which has optimized 2d text drawing…

1 Like

btw. text styles are now spreadable

1 Like

you might find this post useful re: jagged - Does this improve pixel precise rendering?

1 Like

@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 …

1 Like

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

edit 2:
hehe, this image gets cropped (is this an avoidable issue @dave) so you don’t see the rendered text

weirdly I don’t see the image at all…

Well, thank you all, I have to experiment with dx11 and with direct write to see what I can do.
Anyway, HtmlTexture for text is a bad option, right?

your best option if text isn’t dynamically changing is to write it all to dds textures and then work with it as with images, don’t think there is much difference how to generate images…

@dave / OT

I could see sebl’s image the first time around now I just get a little “broken icon”.
Same happened in the following thread:

See woei’s first post and my second. The gifs were visible for some time, now there is also only a broken icon.

On FF, I see correctly this thread, but the one posted by bjoern has broken URIs for me too.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.