Rasterizace - Rasterisation

rastrový grafický obrázek

Rastrování (nebo rasterizace ) je úkolem pořídit obrázek popsaný ve vektorovém grafickém formátu (tvary) a převést jej na rastrový obrázek (řada pixelů , bodů nebo čar, které při společném zobrazení vytvoří obrázek, který byl reprezentován prostřednictvím tvarů). Rastrovaný obrázek pak může být zobrazen na displeji počítače , video displeji nebo tiskárně nebo uložen ve formátu bitmapového souboru. Rastrování může odkazovat na techniku ​​kreslení 3D modelů nebo převod primitiv 2D vykreslování, jako jsou mnohoúhelníky , segmenty čar do rastrovaného formátu.

Termín je odvozen z německého rastru ('framework, schema'), z latinského rāstrum , „škrabka, hrábě“.

Rastrování 3D obrázků

Rasterizace je jednou z typických technik vykreslování 3D modelů. Ve srovnání s jinými technikami vykreslování, jako je sledování paprsků , je rastrování extrémně rychlá, a proto se používá ve většině 3D motorů v reálném čase. Rasterizace je však jednoduše proces výpočtu mapování z geometrie scény na pixely a nepředepisuje konkrétní způsob výpočtu barvy těchto pixelů. Konkrétní barva každého pixelu je přiřazena stínováním (což je v moderních GPU zcela programovatelné ). Stínování může být založeno na fyzikálních zákonech, jejich přiblížení nebo čistě uměleckém záměru.

Proces rastrování 3D modelů do 2D roviny pro zobrazení na obrazovce počítače („ prostor obrazovky “) je často prováděn hardwarem s pevnou funkcí (neprogramovatelným) v rámci grafického kanálu . Důvodem je, že neexistuje žádná motivace pro úpravu technik pro rastrování používaných v době vykreslování a speciální systém umožňuje vysokou účinnost.

Rastrování trojúhelníků

rastrování trojúhelníků pomocí pravidla vlevo nahoře

Běžná reprezentace digitálních 3D modelů je polygonální . Před rastrováním jsou jednotlivé polygony rozděleny na trojúhelníky, proto je typickým problémem, který je třeba při 3D rasterizaci vyřešit, rastrování trojúhelníku. Vlastnosti, které jsou obvykle vyžadovány od algoritmů rastrování trojúhelníků, jsou rastrování dvou sousedních trojúhelníků (tj. Těch, které sdílejí hranu)

  1. nezanechává mezi trojúhelníky žádné otvory (nerostrované pixely), takže rastrovaná oblast je zcela vyplněna (stejně jako plocha sousedních trojúhelníků). A
  2. žádný pixel není rastrován více než jednou, tj. rastrované trojúhelníky se nepřekrývají. To má zaručit, že výsledek nezávisí na pořadí, ve kterém jsou trojúhelníky rastrovány. Přetahování pixelů může také znamenat plýtvání výpočetním výkonem na pixely, které by byly přepsány.

To vede ke stanovení pravidel rastrování, která zaručí výše uvedené podmínky. Jedna sada takových pravidel se nazývá pravidlo vlevo nahoře , které uvádí, že pixel je rastrován právě tehdy, když

  1. jeho střed leží zcela uvnitř trojúhelníku. Nebo
  2. jeho střed leží přesně na hraně trojúhelníku (nebo více hranách v případě rohů), což je (nebo v případě rohů jsou všechny) buď horní nebo levý okraj.

Horní hrana je hrana, která je přesně vodorovná a leží výše dalších hran, a levý okraj je non-vodorovný okraj, který je na levé straně trojúhelníku.

Toto pravidlo je implementováno např. Direct3D a mnoha implementacemi OpenGL (i když to specifikace nedefinuje a vyžaduje pouze konzistentní pravidlo).

Kvalitní

Přesnost pixelů (vlevo) vs. subpixelů (vpravo)

Kvalitu rasterizace lze zlepšit antialiasingem , který vytváří „hladké“ hrany. Přesnost subpixelů je metoda, která bere v úvahu polohy v jemnějším měřítku, než je mřížka obrazových bodů, a může produkovat různé výsledky, i když koncové body primitiva spadají do stejných souřadnic pixelu a vytvářejí plynulejší pohybové animace. Jednoduchý nebo starší hardware, jako je PlayStation 1 , postrádal přesnost subpixelů v 3D rasterizaci.

Viz také

Reference

externí odkazy