3B grafik programlamanın bir parçası nedir?


37

Parça gölgelendiricideki parça nedir? Wikipedia şöyle diyor:

Genel olarak, bir fragmanın, pikseli gölgelemek için gereken veriler ve ayrıca parçanın bir piksel olup olmadığını test etmek için gereken veriler (derinlik, alfa, şablon, makas, pencere kimliği vb.) Olarak düşünülebilir.

Öyleyse dokular, köşeler veya başka bir şey mi?

Yanıtlar:


31

Bilgisayar grafiğinde, fragman, çerçeve tamponunda tek bir pikselin değerinde bir ilkel çizime değer üretmek için gerekli veridir.

Bu veri şunları içerebilir, ancak bunlarla sınırlı değildir:

  • raster pozisyonu
  • derinlik
  • enterpolasyonlu nitelikler (renk, doku koordinatları, vb.)
  • şablon
  • alfa
  • pencere kimliği

Bir sahne çizilirken, çizim ilkelleri dokulu ve mevcut çerçeve tamponu ile birleştirilen parçalara rasterleştirilir. Bir parçanın zaten çerçeve arabelleğindeki verilerle nasıl birleştirildiği çeşitli ayarlara bağlıdır. Tipik bir durumda, zaten o konumda bulunan pikselden (derinlik tamponuna göre) daha uzakta ise, bir parça atılabilir. Mevcut pikselden daha yakınsa, orada olanı değiştirebilir veya alfa karışımı kullanılıyorsa, pikselin rengi, parçanın renginin ve pikselin mevcut renginin bir karışımı ile değiştirilebilir yarı saydam bir cismin çizimi.

Genel olarak, bir fragmanın, pikseli gölgelemek için gereken veriler ve ayrıca parçanın bir piksel olup olmadığını test etmek için gereken veriler (derinlik, alfa, şablon, makas, pencere kimliği vb.) Olarak düşünülebilir.

Wikipedia'dan


6

Bir parça basitçe, gölgelemekte olduğunuz piksel etrafındaki 3 köşenin katkısından verilen verilerdir.

Vertex Shader'da, köşe başına bazı verileri (renk, doku kodları, ...) çıkarırsınız. Ardından Fragment Shader'da her piksel için pikselin son renklerini oluşturmak için kullandığınız bu değerlerin ağırlıklı bir ortalamasını elde edersiniz.


Piksel ve diğer tüm veriler yukarıda belirtildiği gibi görünmez tamponlar üzerinedir.
StarWeaver

4

Aynı şekilde, bir köşe gölgelendirici, köşe üzerinde hareket eder, bir parça (veya piksel) gölgelendirici sadece pikseller üzerinde etki eder.


Üzgünüz, fakat bu "rastarizasyon" kelimesinden ve enterpolasyonlardan bahsetmeden doğru değildir.
Notabene

Özellikle alfa kapsama veya diğer durumlardan herhangi biri, AA hale hedefler katılmaktadırlar multisampling zaman parçaları ayrıdır - - Daha da kötüsü bu pikselleri diyor ben oyu aşağı ben temsilcisi vardı eğer
jheriko

4

Parça gölgelendiricideki parça nedir

Söylenebilecek tek şey, fragman gölgelendiricinin giriş ve çıkışlarını tanımlamaktır.

Bu yapıldığından / çok geniş olduğundan sezgisel görsel tarafına odaklanacağım.

Bir parça raster çıktıdır

OpenGL wiki diyor ki:

Fragment, Rasterizer tarafından üretilen bir değerler koleksiyonudur.

Bu, parça gölgelendiricinin , girişini üreten rasterleştiriciden sonra gelmesinden beri mantıklı geliyor .

Ve bu rasterizer çıktısının görsel temsilidir:

Görüntü kaynağı .

Rasterizatörün girişi bir 3D üçgen ve bir bakış açısıdır ve çıktı, ekranda görünebilecek bir pikseller kümesidir (eğer başkaları tarafından engellenmezlerse).

Bu küçük karelerin her biri (tek bir plixel olarak kodlanmıştır), üçgenin bir parçasıdır ve parça , parça için başka bir addır.


Ben ;-) öğrenmek ve içeriğini geliştirirken böylece Downvoters açıklayınız
Ciro Santilli新疆改造中心法轮功六四事件

En üstteki cevaptaki görsel açıklamaların karıştırdığı bilgiler en iyisi olur.
StarWeaver
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.