Bir de önceki soruya , imzalandıktan mesafe alanlarının, önceden hesaplanabilir çalışma zamanında yüklenen edilebileceği öne sürüldü ve oradan kullandı.
Bu sorunun sonunda açıklayacağım nedenlerle (ilgilenen insanlar için), gerçek zamanlı olarak mesafe alanları oluşturmam gerekiyor.
Orada (önerildiği gibi Pah mesafe dönüşümleri ve Voronoi diyagramı-yaklaştırma bazlı dönüşümleri yöntemleri gibi gerçek zamanlı ortamlarında uygulanabilir olması gerekiyordu farklı yöntemler için orada bazı evrakları burada PixelJunk Nişancı dev adam tarafından bu sunumda ), ancak Ben (ve böylece diğer birçok insanın varsayılabileceği gibi) gerçekten onları kullanmaya koymakta çok zorlanıyorum, çünkü genellikle uzun, matematikle şişirilmiş ve açıklamalarında çok algoritmik değiller.
Mesafe alanlarının gerçek zamanlı olarak (uygun şekilde GPU'da) oluşturulması için, özellikle mesafe alanlarının sonuç kalitesi dikkate alınarak hangi algoritmayı önerirsiniz?
Başka bir kağıt ya da slaytla bağlantının aksine gerçek bir açıklama / öğretici aradığım için, bu soru :-) için uygun olduğunda bir lütuf alacak.
İşte bu yüzden gerçek zamanlı olarak yapmam gerekiyor:
Bu SDF'leri büyük 2B ortamlar için önceden hesaplamanız gerekiyorsa (büyük bir Terraria benzeri harita düşünün), bu, depolama alanında (ve harita oluşturma zamanında) daha fazla uygulama lehine oldukça büyük bir genel gider kabul ettiğiniz anlamına gelir. gerçek zamanlı SDF üretimi için yeterince hızlı olan karmaşık bir algoritma.
Örneğin, 10 * 10 piksel karo boyutuna sahip 1000 * 256 (genişlik * yükseklik) ve dolayısıyla toplam 10000 * 2560 piksel boyutuna sahip nispeten küçük bir harita, eğer nispeten küçük bir miktar seçerseniz, 2 megabaytlık bir boyutta size mal olacak Yalnızca 0 ile 255 arasındaki mesafe değerlerini sakladığınızı varsayarsak, 128x128 SDF çözünürlüğü.
Açıkçası, bu hızla çok fazla olabilir ve sahip olmak istemediğim bir yük.
Başka bir şey var:
SDF'ler birçok şey için kullanılabilir (çarpışma tespiti gibi) ve bazı faydalı uygulamalar henüz keşfedilmedi. Bence gelecekte pek çok insan bu şeyleri arayacak ve burada kapsamlı bir cevap alırsak, pek çok insana yardım edeceğimizi düşünüyorum.