Skip to content
Laurent Bourges edited this page Mar 23, 2014 · 16 revisions

This page gathers R&D ideas to improve both performance and quality:

Performance

Quality

Implement resampling filters:

As shown in [1], supersampled images should be filtered before rescaling to avoid artefacts (moire patterns or jaggies). Pisces / marlin (march 2013) only counts subpixels to compute the pixel coverage ie all subpixels (8x8) have the same weight (=1). To improve visual quality better resampling, filters can be implemented (tent or gaussian filters).

TODO:

  • precompute filter weights according to the subpixel grid (2x2 up to 16x16) but also their integration onto the subpixel grid for performance reasons to improve scaline processing (sp_x, sp_y)
  • instead of counting covered subpixels during scanline processing, use filter weights per covered subpixels (use integer weights by scaling up by a scaling factor) before summation and store weighted coverage into alpha line (as usual). Warning: for each edge only 1 subpixel corresponds to the edge intersection; the pixel coverage corresponds to all subpixels between 2 edges: take care of correct filter integral between these subpixels: same several pixel(s) !
  • normalize pixel coverages once all scanlines have been processed per pixel line according to the filter scaling factor
  • convert then the pixel coverage (int) to an alpha value (byte) [0..1] ie [0.255] using the maximal precision ie 1/256 uncertainty

References

[1] Study of Supersampling Methods for Computer Graphics Hardware Antialiasing Goss, Michael E.; Wu, Kevin 12/05/2000 http://www.hpl.hp.com/techreports/1999/HPL-1999-121R1.html

Clone this wiki locally