İngilizce dilinde oku

Aracılığıyla paylaş


Rasterizer sıralı görünümler

Rasterizer sıralı görünümler (ROV) piksel gölgelendirici kodunun sıralanmamış erişim görünümü (UAV) bağlamalarını, UAV'ler için grafik işlem hattı sonuçlarının sırası için normal gereksinimleri değiştiren bir bildirimle işaretlemesine olanak sağlar. Bu, birden çok saydam nesne bir görünümde birbiriyle hizalandığında çok daha iyi işleme sonuçları veren, siparişsiz saydamlık (OIT) algoritmalarının çalışmasını sağlar.

Genel bakış

Standart grafik işlem hatları, saydamlık içeren birden çok dokuyu doğru bir şekilde birleştirme konusunda sorun yaşayabilir. Tel çitler, duman, yangın, bitki örtüsü ve renkli cam gibi nesneler istenen etkiyi elde etmek için saydamlık kullanır. Saydamlık içeren birden çok doku birbirine uygun olduğunda sorunlar ortaya çıkar (örneğin, bitki örtüsü içeren cam bir binanın önündeki bir çitin önünde duman). Rasterizer sıralı görünümler (ROV) temel alınan OIT algoritmalarının, saydamlık sırasını doğru çözümlemeye çalışmak için donanımın özelliklerini kullanmasını sağlar. Saydamlık, piksel gölgelendiricisi tarafından işlenir.

Rasterizer sıralı görünümler (ROV) piksel gölgelendirici kodunun UAV bağlamalarını, UAV'ler için grafik işlem hattı sonuçlarının sırası için normal gereksinimleri değiştiren bir bildirimle işaretlemesine olanak sağlar.

ROV'ler, çakışan piksel gölgelendirici çağrıları çifti için UAV erişimlerinin sırasını garanti eder. Bu durumda "çakışan", çağrıların aynı çizim çağrıları tarafından oluşturulduğu ve piksel sıklığı yürütme modunda aynı piksel koordinatını ve örnek frekans modunda aynı piksel ve örnek koordinatını paylaştığı anlamına gelir.

Piksel gölgelendirici çağrılarının çakışan ROV erişimlerinin yürütülme sırası, geometrinin gönderilme sırasıyla aynıdır. Bu, çakışan piksel gölgelendirici çağrıları için, bir piksel gölgelendiricisi çağrısı tarafından gerçekleştirilen ROV yazmalarının sonraki bir çağrı tarafından okunabilmesi ve önceki bir çağrının okumalarını etkilememesi gerektiği anlamına gelir. Piksel gölgelendiricisi çağırması tarafından gerçekleştirilen ROV okumaları önceki bir çağrıya göre yazmaları yansıtmalı ve sonraki bir çağrı tarafından yazmaları yansıtmamalıdır. Bu, normal olarak grafik işlem hattı sonuçlarının sabit sırasına göre ayarlanan çıkış sabiti garantilerinden açıkça atlandığından, UAV'ler için önemlidir.

Uygulama ayrıntıları

Rasterizer sıralı görünümler (ROV) aşağıdaki yeni Yüksek Düzey Gölgelendirici Dili (HLSL) nesneleriyle bildirilir ve yalnızca piksel gölgelendiricisi tarafından kullanılabilir:

  • RasterizerOrderedBuffer
  • RasterizerOrderedByteAddressBuffer
  • RasterizerOrderedStructuredBuffer
  • RasterizerOrderedTexture1D
  • RasterizerOrderedTexture1DArray
  • RasterizerOrderedTexture2D
  • RasterizerOrderedTexture2DArray
  • RasterizerOrderedTexture3D

Bu nesneleri diğer UAV nesneleriyle (RWBuffer vb.) aynı şekilde kullanın.

API özeti

ROV'ler, UAV'lere farklı davranış semantiği uygulayan yalnızca HLSL yapısıdır. UAV'lerle ilgili tüm API'ler de ROV'lerle ilgilidir. Aşağıdaki yöntemin, yapıların ve yardımcı sınıfının rasterleştiriciye başvurduğunu unutmayın: