· kaynak Hacker News – Front Page (native)
Bevy 0.20, 817 birleştirilen pull request, daha hızlı Solari renderer ve WESL shader'larıyla geldi
Rust oyun motorunun son sürümü Bevy 0.20, 227 katkımcından 817 pull request'i birleştiriyor; Solari path tracing renderer'ını yükseltiyor, WESL shader'larını benimsiyor ve BSN sahne sözdizimini basitleştiriyor.

Neler yayınlandı
Bevy projesi, Rust ile geliştirilen ücretsiz ve açık kaynaklı, veri odaklı oyun motorunun 0.20 sürümünü yayınladı; sürüm artık crates.io üzerinde mevcut. Hacker News'in ana sayfasına düşen bevy.org'daki resmi duyuruya göre bu sürümde 227 katkımcıdan gelen 817 pull request, topluluk gözden geçirenleri ve bağışçılarla birlikte birleştirildi. Mevcut uygulamalar ve eklentiler, yayınlanan 0.19'dan 0.20'ye geçiş kılavuzu aracılığıyla yeni sürüme taşınıyor.
Solari renderer: daha iyi görüntüler, daha düşük maliyet, macOS desteği
Motorun gerçek zamanlı path tracing renderer'ı olan Solari, kapsamlı iyileştirmeler aldı. ReSTIR uygulamasındaki çalışmalar sayesinde artık render işlemleri büyük ölçüde tarafsız (unbiased) hale geldi ve daha doğru aydınlatma üretiliyor; gölgeler artık hareket eden nesnelerin gerisinde kalmıyor ve özellikle metalik olmayan malzemelerde yansımalar hareket sırasında daha az parıldıyor.
En önemli performans değişikliği ise şu: ReSTIR artık isteğe bağlı ve varsayılan olarak kapalı. Duyuruya göre ekibin gerekçesi, son DLSS-RR güncellemelerinin birçok sahnede ReSTIR kullanmadan da yeterince iyi sonuç vermesi; yani ReSTIR, görüntü kalitesini gözle görülür şekilde artırmadan performansın önemli bir kısmını tüketiyor. 0.19'dan yükselten ve gölge kalitesinde düşüş ya da çok ışıklı sahnelerde hareket halinde kaybolan gölgeler gören projeler, SolariLighting::restir üzerinden bunu yeniden etkinleştirebilir. Gelecekte daha ucuz ışık örnekleme teknikleri üzerinde çalışılıyor.
Solari'nin sahne yönetimi artık korunuyor (retained) ve daha da optimize edildi; duyuruya göre bu, CPU maliyetini önemli ölçüde azaltıyor. SolariLighting ayrıca dünya önbellek boyutu, piksel başına ışık örneği sayısı, zamansal birikim ve path tracing sekerme (bounce) sayısı gibi yeni ayar seçenekleri sunuyor.
Uyumluluk tarafında Solari artık kameralardaki Atmosphere ve EnvironmentMapLights bileşenlerinden gelen aydınlatmayı da işliyor; DirectionalLight ve emissive mesh'ler için mevcut desteğin yanına PointLight, SpotLight ve RectLight desteği planlanıyor. Renderer ayrıca Metal üzerinden macOS'ta çalışıyor; ancak bevy_solari henüz orada yerleşik bir denoiser sunmuyor. MetalFX Ray Reconstruction gelecekte olası bir çözüm olarak öneriliyor ve katkılara açıklar.
dlss_wgpu crate'i en son DLSS SDK'sına güncellendi ve Solari'de gelişmiş denoising kalitesiyle DLSS-RR 4.5 eklendi. 0.19'da DLSS kullanan herkesin en yeni SDK sürümünü indirip kurması gerekiyor; aksi halde derleyici hatalarıyla karşılaşacaklar.
BSN sahne sözdizimine kullanılabilirlik güncellemesi
Bevy'nin yeni sahne sistemi BSN, bu sürümde ele alınan bazı sıkıntılı noktalarla birlikte geldi. Tüm sahne referansları artık açık bir @ öneki gerektiriyor; ekip bu durumun sahne eklemelerini görmeyi kolaylaştırdığını ve sözdizimini tüm durumlar için birleşik hale getirdiğini söylüyor.
template_value sarmalayıcısı kaldırıldı: düz değerler, fonksiyon çağrıları, klonlar ve builder tarzı zincirleme metotlar artık doğrudan BSN tanımlarında yazılabiliyor. Enum'lar da basitleşti; Default ve Clone uyguladıkları sürece artık VariantDefaults veya FromTemplate'e gerek yok. Duyuru, Rust'ta enum varyantı varsayılanı kavramı bulunmadığı için bunun rastgele Rust enum'larıyla uyumluluğu artırdığını savunuyor. Bunun bedeli ise bir varyantın her alanının artık açıkça belirtilmesi gerekliliği.
Entity listeleri virgülle ayırmadan -- ayracına geçti; amaç, ekstra parantezlere veya aşırı girintilemeye gerek kalmadan entity sınırlarını görsel olarak net hale getirmek. Duyuruya göre sözdizimi artık büyük ölçüde kesinleşmiş durumda.
Ayrıca BSN sahne entity'leri, tüm alt öğeleri spawn edildiğinde gözlemlenebilir bir Ready olayı yayıyor.
WESL resmi shader dili oluyor
Bevy, WGSL'nin standartlaştırılmış bir uzantısı olan WESL'i resmi olarak benimsedi. Sürüm notları, bunun motorun önceki özel WGSL lehçesine kıyasla zaten bir iyileştirme olduğunu ve Bevy ile WESL ekiplerinin motor içindeki shader geliştirmenin geleceğini birlikte planladığını belirtiyor.
Widget'lar, sprite malzemeleri ve kameralar
Editör odaklı UI araç seti Bevy Feathers, Color Input, Scrollable List View, Dropdown Selection ve Lazy Menu widget'larının yanı sıra Headless Tab Widget'ları kazandı. Number Input widget'ı artık scrubbing ve sürükleme destekliyor.
Sprite'lar için artık özel shader malzemeleri oluşturulabiliyor ve 2D mesh malzemeleri de 3D'deki gibi genişletilebiliyor. Yeni yerleşik bir pan orbit kamera, sahnelerde CAD tarzı gezinmeye olanak tanıyor.
Neden önemli
Bevy, Rust ekosistemindeki en öne çıkan oyun motorlarından biri ve bu ölçekte bir sürüm — birkaç ay içinde 817 pull request — topluluk geliştirmesinin hızını gösteriyor. Grafik teknolojisini takip eden okurlar için iki karar öne çıkıyor. Birincisi, ReSTIR'i varsayılan olarak devre dışı bırakmak, DLSS-RR gibi yapay zeka tabanlı rekonstrüksiyonun birçok sahnede gerçek zamanlı path tracing'i tek başına taşıyacak kadar olgunlaştığına işaret ediyor ve motorların örnekleme maliyetini görüntü kalitesiyle nasıl dengeleyeceğini yeniden şekillendiriyor. İkincisi, WESL'in benimsenmesi Bevy'nin shader kodunu motorlara özgü bir lehçeden paylaşılan bir standarda taşıyor; bu, WGSL tabanlı motorlar arasında araç taşınabilirliği açısından önemli olabilir. Bu arada BSN sözdiziminin oturması, eklenti ve araç geliştiricilerine daha sağlam bir hedef veriyor. Yükseltme yapanlar geçiş kılavuzunu dikkatlice okumalı; çünkü BSN değişiklikleri ve DLSS SDK gereksinimi bozucu (breaking) nitelikte.
- #rust
- #bevy
- #game-engine
- #graphics
- #open-source