Jednotka mapování textur - Texture mapping unit

Jednotka mapování textury (TMU) je komponenta v moderních jednotkách grafického zpracování (GPU). Historicky to byl samostatný fyzický procesor. TMU je schopen otáčet, měnit velikost a deformovat bitmapový obraz (provádějící vzorkování textury ), aby byl umístěn na libovolnou rovinu daného 3D modelu jako textura. Tento proces se nazývá mapování textury . V moderních grafických kartách je implementován jako diskrétní fáze v grafickém kanálu , zatímco při prvním představení byl implementován jako samostatný procesor, např. Jak je vidět na grafické kartě Voodoo2 .

Pozadí a historie

TMU vzniklo kvůli výpočetním nárokům na vzorkování a transformaci plochého obrazu (jako mapy textury) do správného úhlu a perspektivy, kterou by musel být v 3D prostoru. Výpočetní operace je velké násobení matice , které CPU času (časné Pentiums) nedokázaly zvládnout při přijatelném výkonu.

V roce 2013 jsou TMU součástí potrubí shaderu a oddělené od Render Output Pipelines (ROP). Například v AMD Cypress GPU má každý shader pipeline (kterých je 20) čtyři TMU, což dává GPU 80 TMU. To provádějí návrháři čipů, aby úzce spojili shadery a texturovací enginy, se kterými budou pracovat.

Geometrie

3D scény se obvykle skládají ze dvou věcí: 3D geometrie a textury, které tuto geometrii pokrývají. Jednotky textury na grafické kartě vezmou texturu a „ji namapují“ na kousek geometrie. To znamená, že obalují texturu kolem geometrie a vytvářejí texturované pixely, které lze poté zapsat na obrazovku. Textury může být skutečný obraz, je lightmap , nebo dokonce normální mapy pro pokročilé povrch světelných efektů.

Míra vyplnění textury

K vykreslení 3D scény jsou textury mapovány přes horní část polygonových sítí . Toto se nazývá mapování textury a provádí se jednotkami mapování textury (TMU) na grafické kartě. Rychlost vyplňování textur je měřítkem rychlosti, s jakou může konkrétní karta provádět mapování textur.

Ačkoli je zpracování shaderu pixelů stále důležitější, stále si toto číslo váží. Nejlepším příkladem je X1600 XT. Tato karta má poměr 3: 1 procesorů shaderů pixelů / jednotek mapování textury. Výsledkem je, že X1600 XT dosahuje nižšího výkonu ve srovnání s jinými GPU stejné éry a třídy (například nVidia 7600GT). Ve středním rozsahu může být mapování textury stále velmi překážkou. Na špičkové úrovni má však X1900 XTX stejný poměr 3: 1, ale dělá to dobře, protože rozlišení obrazovky vrcholí a má více než dost síly na mapování textur, aby zvládla jakýkoli displej.

Detaily

Jednotky mapování textur (TMU)

Textury je třeba řešit a filtrovat. Tuto úlohu provádějí TMU, které pracují ve spojení s pixelovými a vertexovými shaderovými jednotkami. Úkolem TMU je aplikovat operace textury na pixely. Počet jednotek textury v grafickém procesoru se používá při porovnávání dvou různých karet pro výkon textury. Je rozumné předpokládat, že karta s více TMU bude rychlejší při zpracování informací o textury. V moderních GPU obsahují jednotky TMU jednotky texturních adres (TA) a jednotky filtrování textur (TF). Jednotky adresy textur mapují textilie na pixely a mohou provádět režimy adresování textur. Jednotky filtrování textur volitelně provádějí hardwarové filtrování textur .

Potrubí

Pipeline je architektura grafické karty, která poskytuje obecně přesnou představu o výpočetním výkonu grafického procesoru.

Potrubí není formálně přijímáno jako technický termín. V grafickém procesoru existují různé kanály, protože v daném okamžiku jsou prováděny samostatné funkce. Historicky se o něm hovoří jako o pixelovém procesoru, který je připojen k vyhrazené TMU. Geforce 3 měl čtyři pixelové kanály, z nichž každý měl dvě TMU. Zbytek potrubí zpracovával věci jako operace hloubky a míchání.

ATI Radeon 9700 jako první prolomil tuto formu tím, že umístil řadu vertex shaderových motorů nezávisle na shaderech pixelů. Grafický procesor R300 používaný v Radeonu 9700 měl čtyři globální shadery vrcholů, ale rozdělil zbytek vykreslovacího kanálu na polovinu (to bylo, abych tak řekl, dvoujádrový), každá polovina, nazývaná quad, měla čtyři shadery pixelů, čtyři TMU a čtyři ROPy.

Některé jednotky se používají více než jiné a ve snaze zvýšit celkový výkon procesoru se pokusily najít „sladké místo“ v počtu jednotek potřebných pro optimální účinnost bez potřeby přebytečného křemíku. V této architektuře ztratil název pixelového kanálu význam, protože pixelové procesory již nebyly připojeny k jednotlivým TMU.

Vrcholový shader byl dlouho oddělen, počínaje R300, ale pixel shader nebyl tak snadno proveditelný, protože vyžadoval práci s barevnými daty (např. Vzorky textury), a proto musel být úzce spojen s TMU.

Uvedená vazba zůstává dodnes, kde je shader engine, vyrobený z jednotek schopných spouštět buď vrcholná nebo pixelová data, pevně spojen s TMU, ale má mezi svým výstupem a bankou ROP dispečer.

Vykreslení výstupních potrubí (ROP)

Rendový výstupní kanál je zděděný termín a je častěji označován jako výstupní jednotka vykreslení . Jeho úkolem je řídit vzorkování pixelů (každý pixel je bezrozměrný bod), takže řídí vyhlazování , když je více než jeden vzorek sloučen do jednoho pixelu. Všechna poskytnutá data musí projít ROP, aby mohla být zapsána do framebufferu , odtud mohou být přenesena na displej.

Proto je ROP místem, kde je výstup GPU sestaven do bitmapového obrazu připraveného k zobrazení.

Použití v GPGPU

V GPGPU , textur na 1,2, nebo 3 rozměry může být použit k ukládání dat libovolný. Poskytnutím interpolace poskytuje jednotka mapování textury vhodný prostředek k aproximaci libovolných funkcí s datovými tabulkami.

Viz také

Reference

externí odkazy