Render Text to texture


#1

Greetings. I’ve been expermenting with HLSL shaders, writing and testing them primarily with Nvidia’s Fx Composer. My question is, does anyone have any idea how render text (a string of characters) to a texture? i’m not looking for a step-by-step guide, but any advice or thoughts would be appreciated.

I know how to do it in directx, and have looked at the example in the directx sdk, but i want to do it entirely within a shader. after searching around a bit, i have’t found any info, so as far as i know, it may not even be possible…

Creating and applying textures to objects is no problem, its just the process of rendering text to an image.


#2

Rendering text in a shader is a quite difficult problem.
Take a look at http://research.microsoft.com/~cloop/LoopBlinn05.pdf if you want to get some inspiration on this topic.


#3

probable one thing for such a shader would be to make a texture with all letters prerendered, and use it as a sampler in your shader.
but then, you would actually want to display text (words), and the only hack to pass strings to a shader would again be to abuse a texture (where different pixelcolors represent different letters). transforming strings to such a lookuptexture might be more difficult that just rendering the letters directly using D3DFont…


#4

Another interesting paper on this subject was published on siggraph last week.
Check out the paper “Perfect Spatial Hashing” on http://research.microsoft.com/~hoppe/ .
It shows a way of efficiently pack sparse data into textures and it shows some nice text renderings where it has packed vector data into the texture to render text.


#5

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.