Signed Distance Fields (SDF'ler), 3D nesneleri tanımlamanın matematiksel bir yoludur ve grafikler için işlevsel bir paradigma sunar. Bu yöntemde, bir nesne yüzeyine olan işaretli mesafeyi hesaplayan bir fonksiyon ile tanımlanır; nesne dışında pozitif, yüzeyde sıfır ve içinde negatiftir. SDF'lerin güzelliği, işlevsel programlama operatörleri gibi kolayca birleştirilebilmeleridir. Şekilleri çıkarmak, dönüştürmek veya uzayı bükmek gibi poligonlarla zor olacak birçok işlem, SDF'lerle son derece kolay hale gelir. Bu paradigma sayesinde, 3D sahneniz kodla tanımlanabilir ve nispeten kısa bir programla sonsuz bir prosedürel şehir gibi karmaşık yapılar oluşturulabilir. Bu, birçok yönden geleceğin grafik teknolojisi gibi hissettiriyor.
Tekniği popülerleştiren ve erişilebilir kılan Inigo Quilez'e büyük bir övgü borçluyuz. Ayrıca, demoscene'de, özellikle Mercury gibi ekiplerin 64 kilobaytlık demolarında yoğun bir şekilde kullanılmasıyla dikkat çekmiştir. Bu demolar, müzik ve dokular dahil tüm programın 64KB'lık yürütülebilir bir dosya içinde yer aldığı ve her şeyin prosedürel olarak üretildiği inanılmaz grafikler sunmuştur. SDF'leri render etmek için kullanılan standart algoritma raymarching veya sphere tracing olarak bilinir. Bu algoritma, anlaşılması ve uygulanması kolay olmasıyla öne çıkar; poligonları rasterize etmekten çok daha basittir.
Ancak, raymarching'in dezavantajı, rasterizasyona göre hesaplama açısından çok daha maliyetli olmasıdır. Bunun nedeni, tek bir pikselin render edilmesi için SDF'nizin birden çok kez örneklenmesini gerektirmesidir. SDF'niz çok karmaşıksa, bu durum özellikle zorlayıcı olabilir ve raymarching genellikle raytracing'den bile daha pahalıdır. SDF'lerin birçok çekici özelliği olduğundan, onları daha hızlı render etmenin yollarını bulmak cazip gelmektedir. 2016'da, derleyici dünyasından bir teknik olan kısmi değerlendirmenin (partial evaluation) SDF'lerin render edilmesini optimize etme potansiyeli üzerine yazılmıştı. Matt Keeter, bu amaçla interval arithmetic kullanılabileceğini belirtmişti, ancak bunun için SDF'leriniz için eksiksiz bir derleyici (compiler) uygulamanız gerekmektedir. Ayrıca, sahnedeki hangi nesnelerin görüş frustumu ile kesişebileceğini belirlemek ve tüm sahneye karşılık gelen bir SDF'yi değerlendirmekten kaçınmak için bounding volume'lar gibi daha basit teknikler de mevcuttur.
SDF'ler, 3D grafiklerde nesne tanımlama ve render etme süreçlerini basitleştirerek, özellikle prosedürel içerik üretiminde ve karmaşık görsel efektlerde yeni ufuklar açıyor.