Distance Field Technique

  一种小纹理高清放大的技术。

  Signed Distance Field Technique-LMLPHP

    A distance field is generated from a high resolution image, and then stored into a channel of a lower-resolution texture.  which has been previously used to develop games such as the Half-Life 2 series, Counter-Strike: Source and Day of Defeat: Source.

    The distance function stored in an 8-bit channel. By doing so, we are able to take advantage of the native bilinear texture interpolation.  

    Once this signed distance has been calculated, we map it into the range 0..1, with 0 representing the maximum possible negative distance and 1.0 representing the maximum possible positive distance. A texel value of 0.5 represents the exact position of the edge and, hence, 0.5 is generally used for the alpha threshold value.

    小图中存储的alpha是,在原大图中,该点到最近的边缘的距离。

    Signed Distance Field Technique-LMLPHP

应用

1、SoftEdge。

  Two distance thresholds, Distmin and Distmax, are defined and the shader maps the distance field value between these two values using the smoothstep() function.

    Signed Distance Field Technique-LMLPHP

2、Outline。

   By changing the color of all texels which are between two userspecified distance values.

    Signed Distance Field Technique-LMLPHP

3、Glow

  When the alpha value is between the threshold value of 0.5 and 0, the smoothstep function can be used.

    Signed Distance Field Technique-LMLPHP

4、Drop Shadow

  texture coordinate offset to produce drop shadows

    Signed Distance Field Technique-LMLPHP

5、

参考:

1、《Improved Alpha-Tested Magnification for Vector Textures and Special Effects》.pdf

2、http://www.360doc.com/content/17/0930/09/110467_691283041.shtml

04-26 14:02
查看更多