PCTuning Článek

Historie grafik v noteboocích: pixel shaders a IGP

jiri-zima
Jiří Zima
31. 12. 2014 02:00 5 Sdílej:

Seznam kapitol

1. Pixel shadery nastupují 2. Pixel Shader poprvé mobilně 3. Shader Model 2.0 a odlišný přístup ATI a NVIDIE 4. Trident CyberBlade (2001) 5. Jádro S3 Savage/IX ještě jednou (2001), SiS 630 6. První krůčky Intelu s 830MG (2001) a srovnání výkonu

Nedávno jsme se věnovali začátku rivality mezi společnostmi ATI a NVIDIA. 3D už měl každý čip a od herních se oddělily profesionální varianty pro 3D/CAD nasazení. Dnes se podíváme na první grafické čipy s pixel shadery a na část historie se podíváme znovu z opačného konce spektra – integrovaných grafik.

Reklama
Reklama

Minulý díl byl hlavně o ustálení vývojového cyklu a začátku rivality mezi společnostmi ATI a NVIDIA. 3D už měl každý čip a od herních se oddělily profesionální varianty pro 3D/CAD nasazení. Dnes zabrousím trochu dál k představení prvních grafických čipů s pixel shadery, abych se následně vrátil v čase a část historie prošel znovu z opačného konce spektra – integrovaných grafik.

Je právě podzim roku 2002 a ATI ohlašuje revoluci v 3D akcelerátorech. Přichází s Radeonem 9700, čipem s plnou podporou Pixel a Vertex Shaderu ve verzi 2.0, a tedy i podporou nového rozhraní DirectX 9.0. ATI se povedlo nabídnout technologicky velmi vyspělý a také hodně rychlý čip a povedlo se jí to několik měsíců před nasazením obdobného produktu u Nvidie, což se pozitivně podepsalo jak na ziscích, tak na nárůstu podílu na trhu.

V rámci téhož tiskového prohlášení došlo k představení ještě jednoho významného produktu. Tentokrát však pro notebooky – šlo o ATI Mobility Radeon 9000 Pro.

Odbočka: co jsou to shadery

Doposud měly všechny mobilní grafiky pevně zadrátované funkce, které mohly být využity. Jejich implementace se později označovala jako fixed-function pipeline. Grafický čip tedy spočítal potřebnou geometrii scény, vypočítal osvětlení a na jednotlivé polygony mohl vykreslit textury v různých režimech. Polygony mohly být celé zprůhledněné pomocí konstanty, nebo byla jejich průhlednost určena maskou (samostatnou texturou, kde například světlost každého bodu odpovídá stupni průhlednosti). Textury bylo možné na polygonech kombinovat (multitexturing) s různou vazbou. Například tak, že se obě textury (resp. RGB hodnoty jejich bodů) sečetly, odečetly, případně zprůměrovaly váženým průměrem. Pokud jste nějakou funkci nevyužili, tak se prostě v pipeline přeskočila.

Pominu-li pro zjednodušení různé předchůdce Pixel Shaderu (např. Nvidia Register Combiner), byla první grafickou kartou s jeho využitelnou podporou v desktopech GeForce 3. U ní byla část provádějící multitexturing rozšířena několika registry a možností vykonat na každém pixelu až dvanáct úkonu kombinujících až čtyři zdrojové textury a osm konstant. Šlo o Pixel Shader 1.1.

Doom 3 byl hrou, která využila naplno možností dobových 3D akcelerátorů. Osvětlení scény i modelů se počítalo na úrovni pixelů (per-pixel lighting) za pomoci Pixel Shaderů.
Doom 3 byl hrou, která využila naplno možností dobových 3D akcelerátorů. Osvětlení scény i modelů se počítalo na úrovni pixelů (per-pixel lighting) za pomoci Pixel Shaderů.

U Radeonu 8500, resp. dále popisovaného Mobility Radeonu 9000 je použit Pixel Shader (PS) 1.4, který zmíněnou jednotku ještě rozšiřuje a dokáže na pixelu provést až 22 úkonů, kde jsou navíc oddělená texturová data od koordinátů (šest míchání textur, osm adresací textur a osm konstant). Pokud tedy byl shaderový program složitější, mohla jej grafika s PS 1.4 vykonat v jednom cyklu, zatímco grafika s PS 1.1 již potřebovala dva cykly.

Texturový koordinát určuje, jaký výřez obrázku (textury) se roztáhne na polygon objektu v 3D scéně. Texturové koordináty jsou definovány UV souřadnicemi v textuře, a k 3D modelům se tedy přiřazují UV mapy.
Texturový koordinát určuje, jaký výřez obrázku (textury) se roztáhne na polygon objektu v 3D scéně. Texturové koordináty jsou definovány UV souřadnicemi v textuře, a k 3D modelům se tedy přiřazují UV mapy.

Vertex Shader (VS) je podobná komponenta. Jen nepracuje na úrovni pixelů, nýbrž vertexů – tedy jednotlivých bodů, které jsou pospojovány do polygonů tvořících scénu. Pomocí VS je možné provádět různé operace s pozicí vertexu, jeho barvou/světlostí a texturovými koordináty.

Z dnešního pohledu jsou Shadery 1.x velmi primitivní a šlo pouze o malý krůček k plně programovatelným GPU. Nicméně šla s nimi vytvořit celá řada působivých efektů.

Předchozí
Další
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama

Byl detekován AdBlock

PCTuning je komunitní web, jehož hlavním příjmem je reklama. Zvažte prosím vypnutí AdBlocku, ať můžeme všem čtenářům i nadále přinášet kvalitní herní zpravodajství, články a videa.

Děkujeme!

Váš tým PCTuning