DirectX Raytracing (DXR) Tier 1.1 Yeni Özellikler, Ağır Donanım Değişikliği Olmadan Yalnızca Sürücü Desteği ile Çalışabilir

Donanım / DirectX Raytracing (DXR) Tier 1.1 Yeni Özellikler, Ağır Donanım Değişikliği Olmadan Yalnızca Sürücü Desteği ile Çalışabilir 3 dakika okundu

Xbox



Işın İzleme, özellikle NVIDIA ve AMD'nin üst düzey grafik kartlarıyla oyuncuların merakla beklediği bir özelliktir. Yakında Intel'i de içerecek olan önde gelen GPU üreticileri, ışık ve gölge efektlerini gerçek dünyadaki fizik yasalarına göre gerçekçi bir şekilde işleyen ve hiper gerçekçi ve sürükleyici görseller getiren özelliği desteklemek için aktif olarak donanımlarını geliştiriyorlar.

Bu arada Microsoft, Windows işletim sistemi ekosisteminin üst düzey oyunları oynamak için ideal bir platform olarak uygun olmasını sağlıyor. Uzun süredir masaüstü oyunlar için önde gelen bir standart olan şirketin DirectX platformu, 'Gerçek Zamanlı Işın İzleme' yi yerel olarak desteklemek ve hatta artırmak için değiştiriliyor. Aslında, DirectX Raytracing (DXR) Tier 1.1, bir dizi yeni özelliği destekleyen en son standarttır. Yakın özellikte gerçek zamanlı ışın izlemenin destekleyebileceği heyecan verici özelliklerden bazıları, satır içi ışın izleme, ExecuteIndirect () aracılığıyla DispatchRays () çağrıları , AddToStateObject () aracılığıyla büyüyen durum nesneleri , Raytracing gölgelendiricilerinde GeometryIndex () , ve dahası. Windows 10 için DirectX 12'nin ışın izleme için destekleyeceği bazı yeni özelliklere bakalım.



Satır İçi Işın İzleme:

Işın izlemenin alternatif bir biçimi olan satır içi ışın izleme, ayrı dinamik gölgelendiriciler veya gölgelendirici tabloları kullanmaz. Özelliğin API'si hızlandırma yapısına erişimi gizler (ör. Veri yapısı geçişi, kutu, üçgen kesişim). Bu aslında onu donanıma / sürücüye bırakır. İlginç bir şekilde, hem numaralandırılmış aday isabetlerini hem de bir sorgunun sonucunu (ör. İsabet vs isabetsiz) işlemek için gerekli tüm uygulama kodu, RayQuery .



Hat içi ışın izleme, geliştiricilere, iş planlamasını tamamen sisteme devretmenin aksine, daha fazla ışın izleme işlemi için zorlama seçeneği sunar. Eklemeye gerek yok, bu süreç optimizasyonu, birden çok gölgeyle itişip kakışan geliştiriciler için oldukça kullanışlıdır. Dahası, geliştiriciler, basit özyinelemeli ışınlar için dinamik olarak satır içi forma geçme konusunda tam özgürlüğe sahiptir.



ExecuteIndirect () aracılığıyla DispatchRays () Çağrıları:

Bu özellik, GPU'daki gölgelendiricilerin bir liste oluşturmasını sağlar. Gönderim Yolları () aramalar. Bunlar, iş parçacığı sayıları, gölgelendirici tablosu ayarları ve diğer kök parametre ayarları gibi bağımsız parametreleri içerir. Özelliğin en iyi yönü, tüm listenin işlemin CPU'ya bir ara geri dönüşe ihtiyaç duymadan yürütülebilmesidir.



Işın izleme çalışmasını GPU üzerinde hazırlayan ve ardından hemen ortaya çıkaran tüm senaryolar, bu özellikten büyük ölçüde yararlanmalıdır. Eklemeye gerek yok, bu özellik, gölgelendirici tabanlı ayırma, sıralama, sınıflandırma ve ayrıntılandırma gibi çeşitli uyarlanabilir ışın izleme senaryolarında çok yardımcı olacaktır.

AddToStateObject () aracılığıyla Büyüyen Durum Nesneleri:

Bir optimizasyon özelliği olan bu yeni, israflı işlem iş parçacığını azaltmaya çalışır. Günümüzde epeyce uygulama ve süreç, çok fazla kaynağı boşa harcayan ve sistemi zorlayan tam dolu bir ışın izleme ardışık düzeni oluşturuyor. Şu anda, D3D12 çalışma zamanı, yapı taşlarından oluşturulan tam durum nesnesini hala ayrıştırmaktadır.

Doğruluğu doğrulamak için yapılsa bile, AddToStateObject () mevcut bir gölgelendirici durum nesnesine gölgelendiriciler eklenerek yeni bir durum nesnesi oluşturulabilir. Eklemeye gerek yok, CPU ek yükü yalnızca eklenen verilerle orantılı kalacaktır.

GeometryIndex () Işın İzleme Gölgelendiricilerinde:

Bu özellik, gölgelendiricilerin alt seviye hızlandırma yapıları içindeki geometrileri ayırt etmesini sağlar. Daha önce, geometriler, her bir geometri için gölgelendirici tablo kayıtlarındaki verileri değiştirerek ayırt edilebiliyordu, ancak yeni yöntemle uygulama yükten kurtuldu. Dahası, tüm geometriler aynı gölgelendiriciyi paylaşıyorsa, uygulama, MultiplierForGeometryContributionToHitGroupIndex parametresi İzlemeRay () 0.

Bu, esasen geometri dizininin artık sabit işlevli gölgelendirici tablosu dizinleme hesaplamasına etki etmemesini sağlayacaktır. Yine de, gerekirse veya istenirse, gölgelendiriciler kullanabilir GeometryIndex () uygulamanın kendi veri yapılarını dizine eklemek için.

DirectX Raytracing (DXR) Tier 1.1, yukarıda belirtilen özelliklere ek olarak şunları da içerir: RAY_FLAG_SKIP_TRIANGLES ve RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES bayraklar. Bu bayraklar, bağımsız ışın izleme çağrıları için kullanılabilir olsa da, ışın izleme ardışık düzeni yapılandırması aracılığıyla global olarak da bildirilebilirler.

Microsoft'un DirectX 12'yi grafik yoğun oyunlar için optimize etmeye çalıştığı oldukça açık. Dahası, üst düzey oyunlar ve oyuncular için en önemli özelliklerden biri olmayı vaat eden ışın izleme ile şirket, sistemin, CPU'nun ve GPU en uygun şekilde kullanılır minimum fazlalık ile.

Etiketler Directx nvidia Işın izleme RTX