![][1]Привет всем. Я уже однажды писал про Distance Field, и приводил реализацию «эвристическим» кодом дающую неплохую скорость: [habrahabr.ru/post/186482/][2]
#### Зачем он нужен?
DField можно применять:
* Для значительного повышения качества шрифтов
* Для эффектов например горения контура. Один из эффектов я приводил в своей предыдущей статье
* Для эффекта «metaballs» но в 2д и для любых сложных шейпов. (возможно я когда-нибудь приведу пример реализации этого эффекта)
* А в данный момент DField мне нужен для качественного сглаживания углов и удаления мелких деталей.
И если в первых двух случаях мы можем заранее вычислить DField, то для других эффектов нам нужно просчитывать его в реальном времени. В статье будет рассмотрен наиболее популярный, я бы сказал классический Chamfer distance (CDA) с кучей картинок, объясняющих принцип его работы, а так же рассмотрен двухпроходный алгоритм на GPU. Оба алгоритма [реализованы в демонстрационных программах на FPC][3]. [Читать дальше →][4]
[1]: //habrastorage.org/files/699/ff7/4e5/699ff74e5715436c9b7ee44a814690e2.png
[2]:
http://habrahabr.ru/post/186482/
[3]:
https://sourceforge.net/projects/dfsamples/
[4]:
http://habrahabr.ru/post/245729/#habracut