I've finally tried to implement Valve's "Improved Alpha-Tested Magnification", like shown on this paper :
http://www.valvesoftware.com/publicatio ... cation.pdfIt requires very few changes to Raydim (a new blend mode), but the hard part was to write the texture generator.
Here's the current results:
Rendering with a 4096x1024 texture (sample picture):
Now using a rescaled texture, 128x32:
Ugly, of course
The same 128x32, but with an alpha test of 0.5 (if alpha is lower than 0.5, pixel is not drawn, if upper, drawn at full opacity):
Much nicer, but we can the artifacts caused by bilinear filtering.
Now using the generated "ATM" 128x32 texture, created from the 4096x1024 texture:
Edges are a bit softer than the hi-res texture, the result is aliased a bit, but it's quite impressive for a texture with a thousand times less information ! And it costs almost nothing at rendering time.
Drawbacks are:
- seems to work only for "flat" textures (8 bits only)
- anti aliasing is not possible without shaders (or FSAA of course)
- seems useless with highly detailed images (font2)
- bilinear filtering only ?
- idea is quite complex to understand, so we add this feature to the engine, we must also add documentation. If we add doc for this feature, we must also add documentation for HDR, BOX, ENV, ... and other prefix, since I currently use a new "ATM" prefix for such textures. It's not very hard to do, but ...
... so at the end, it's seems that it's a technically impressive feature, but I've no idea what we can do with it !
Do you think there's something interesting here ? Should I push researches a bit ? Should I commit ? Post a patch ? ...