Siparişten bağımsız şeffaflık - Order-independent transparency

Harmanlama sırasının önemi. Üst kısım, sıralanmamış alfa harmanlamayla yanlış bir sonuç üretirken, alt kısım geometriyi doğru şekilde sıralar. Doğru derinlik sıralaması olmadan iskelet yapısının daha düşük görünürlüğüne dikkat edin. ATI Mecha Demo'dan görüntü

Sıradan bağımsız şeffaflık (OIT), alfa birleştirme için sıralı düzende işleme geometrisi gerektirmeyen, 3B bir sahnede saydamlık oluşturmak için rasterleştirme bilgisayar grafiklerinde bir teknikler sınıfıdır .

Açıklama

Genel olarak, şeffaflık içeren 3B geometri, tüm yüzeylerin tek bir tamponda harmanlanmasıyla ( alfa birleştirme kullanılarak ) oluşturulur (bunu bir tuval olarak düşünün). Her yüzey mevcut rengi kapatır ve alfa değerine bağlı olarak kendi renginden bir miktar ekler , bir ışık geçirgenliği oranı . Yüzeylerin harmanlanma sırası , her yüzeyin toplam tıkanıklığını veya görünürlüğünü etkiler . Doğru tahmin için, yüzeyler bağlı olarak, uzak en yakın veya yakın en uzak mesafede harmanlanması gerekir alfa kompozisyon , işlem üzerinde veya altında . Sıralama, geometriyi sıralı sırayla göstererek elde edilebilir, örneğin üçgenleri derinliğe göre sıralayarak, ancak önemli miktarda zaman alabilir, her zaman bir çözüm üretmeyebilir (kesişen veya dairesel olarak üst üste binen geometri durumunda) ve uygulama karmaşıktır. Bunun yerine, sıradan bağımsız şeffaflık, pikselleştirmeden sonra geometriyi piksel başına sıralar. Kesin sonuçlar için bu, ayırmadan ve birleştirmeden önce tüm parçaların depolanmasını gerektirir .

Tarih

A tamponu 1984 depolar piksel başına (ihtiva eden bir fragman veri listelerini tanıtılan bir bilgisayar grafik tekniktir mikro çokgen bir yazılım rasterizer bilgilere), Reyes orijinal olarak tasarlanmış anti-aliasing , aynı zamanda destek saydamlık.

Daha yakın zamanlarda, 2001'de derin soyma , donanım hızlandırmalı bir OIT tekniğini tanımladı. Grafik donanımındaki sınırlamalarla, sahnenin geometrisinin birçok kez işlenmesi gerekiyordu. Derinlemesine soymanın performansını iyileştirmek için, yine de çok geçişli oluşturma sınırlamasıyla birlikte bir dizi teknik izlenmiştir. Örneğin, Çift Derinlikli Soyma (2008).

2009'da, GPU donanım / sürücüler / Grafik API'lerinde, daha önce mümkün olmayan bir şekilde, sahnenin tek bir işleme geçişinde parça verilerinin yakalanmasına ve depolanmasına izin veren iki önemli özellik tanıtıldı. Bunlar, gölgelendiricilerden ve atomik işlemlerden rastgele GPU belleğine yazma yeteneğidir. Bu özelliklerle, sahnenin geometrisinin çok sayıda render geçişini gerektirmeyen yeni bir OIT tekniği sınıfı mümkün hale geldi.

  • Birincisi, parça verilerini, her bir x / y piksel için z boyutu boyunca parçaların depolandığı bir 3B dizide depolamaktı . Pratikte, sahnenin derinlik karmaşıklığı tipik olarak eşit olmadığından , 3B dizinin çoğu kullanılmıyor veya taşıyor . Taşmayı önlemek için 3B dizisi, çoğu durumda pratik olmayan büyük miktarda bellek gerektirir.
  • Bu bellek yükünü azaltmak için iki yaklaşım vardır.
    1. 3B diziyi bir ön ek taramasıyla veya doğrusallaştırma ile paketlemek, kullanılmayan bellek sorununu ortadan kaldırdı, ancak geometrinin ek bir derinlik karmaşıklığı hesaplama oluşturma geçişini gerektirdi . "Aralıklı olma uyumlu" , S-Tamponu, dinamik Parçası Tamponu, "deque" D-Tamponu, Doğrusallaştırılmış Katmanlı Parçası Tampon tüm paket fragmanı bir önek toplamı tarama ile ilgili veriler ve OIT ile gösterilmektedir.
    2. Parçaların piksel başına bağlantılı listelerde depolanması, bu verilerin sıkı bir şekilde paketlenmesini sağlar ve 2011'in sonlarında, sürücü iyileştirmeleri, atomik işlem çekişme ek yükünü azaltarak tekniği çok rekabetçi hale getirdi.

Tam OIT

Tam olarak, yaklaşık olanın aksine , OIT, tüm parçaların sıralanması gereken nihai rengi doğru bir şekilde hesaplar. Yüksek derinlikli karmaşık sahneler için sıralama, darboğaz haline gelir.

Sınıflandırma aşamasıyla ilgili bir sorun, yerel bellek sınırlı kullanımdır , bu durumda GPU'ların aktarım hızı ve işlem gecikmesi gizlemesiyle ilgili bir SIMT özniteliği. Geriye doğru bellek tahsisi (BMA), pikselleri derinlik karmaşıklıklarına göre gruplandırır ve potansiyel olarak yüksek derinlik karmaşıklığı sahnesi bağlamında düşük derinlik karmaşıklığı piksellerinin doluluk oranını ve dolayısıyla performansını iyileştirmek için bunları gruplar halinde sıralar. 3 kata kadar genel OIT performans artışı rapor edilmiştir.

Sıralama tipik olarak yerel bir dizide gerçekleştirilir, ancak performans GPU'nun bellek hiyerarşisinden yararlanılarak ve özellikle BMA ile bağlantılı olarak harici bir birleştirme sıralamasına benzer şekilde kayıtlarda sıralama yapılarak daha da iyileştirilebilir .

Yaklaşık OIT

Yaklaşık OIT teknikleri, daha hızlı sonuçlar sağlamak için kesin oluşturmanın kısıtlamasını gevşetir. Tüm parçaları depolamak zorunda kalmadan veya geometriyi yalnızca kısmen sıralamaktan daha yüksek performans elde edilebilir. Bir dizi teknik de parça verilerini sıkıştırır veya azaltır . Bunlar şunları içerir:

  • Stokastik Şeffaflık: Tam opaklıkta daha yüksek bir çözünürlükte çizin, ancak bazı parçaları atın. Altörnekleme daha sonra şeffaflık sağlayacaktır.
  • Uyarlanabilir Şeffaflık, ilkinin anında sıkıştıran bir görünürlük işlevi oluşturduğu (bu sıkıştırma parçaları tam olarak sıralamak zorunda kalmaz) ve ikincisinin bu verileri sırasız parçaları birleştirmek için kullandığı iki geçişli bir tekniktir. Intel'in piksel senkronizasyonu , diğer birçok OIT tekniğinin sınırsız bellek gereksinimini ortadan kaldırarak tüm parçaları saklama ihtiyacını ortadan kaldırır.

Donanımda OIT

  • Sega Dreamcast oyun konsolu, otomatik OIT için donanım desteği içeriyordu.

Ayrıca bakınız

Referanslar