Vector textures
These days it is hard to come by a technique that is extremely flexible, produces very good results and doesn’t even need a shader. The 3 screen shots below are screen shots zoomed in to a glyph and show what is achievable using vector textures.
![]() |
![]() |
![]() |
| Original 4096×4096 texture | Original texture resized to 128×128 | Vector texture resized to 128×128 |
The demo I have made is an implementation of notes from a SIGGRAPH Course by Valve. The paper describes methods to improve text rendering (or any vector shape) using very simple techniques that would work on a GPU that does not support shaders. If you read the notes from Valve you will realize that you can implement a variety of effects quite easily.
This is what I consider to be a working example with rough edges. The demo below has 2 modes – 1 that uses the fixed function pipeline and another which attempts to anti-alias edges using a very simple shader. So far my distance field generator is pure brute force and takes excessively long to generate vector textures. Secondly and may be more importantly, I haven’t been able to generate sharp edges. The Valve paper describes a method of generating a distance field in 2 channels and I plan to investigate this further. After extracting the file, open readme.png to see how to use the demo.
As usual, please contact me if you have suggestions or questions.
[Improved Alpha-Tested Magnification for Vector Textures and Special Effects] [Download demo]


