Multimediaexpo.cz je již 18 let na českém internetu !!
Shadery
Z Multimediaexpo.cz
m (Nahrazení textu „NVidia“ textem „NVidia“) |
m (1 revizi) |
Aktuální verze z 19. 11. 2013, 15:54
Shadery jsou malé programy určené pro zpracování přímo na grafické kartě. Takovéto programy se píší nejčastěji v jazycích CG (nVidia, univerzální), HLSL (Microsoft, pro DirectX), GLSL (pro OpenGL) a později jsou překladačem přeloženy do assembleru přímo pro danou grafickou kartu. V současné době jsou tři typy shaderů: vertex, pixel a geometry.
Obsah |
Vertex shader
Program, který se provede na každý vrchol (vertex) vstupní geometrie. Nejčastěji provádí transformaci (násobí vrchol World, View a Projection maticemi) a výsledkem je pozice na obrazovce (screen space). Může ale také provádět různé pohyby s vrcholy, např. pro hladinu vody. Vždy ale do programu vstoupí jeden vrchol, je upraven a zase vystoupí, nelze tedy vrcholy přidávat či odebírat.
Pixel shader
Jakmile jsou vrcholy transformovány, získáme místa na obrazovce, na které je nutno nanést texturu. Tento program se provede na každý pixel na obrazovce, proto jsou tyto operace náročné na hardware a pixel shadery často jednodušší a maximálně optimalizované.
Historie shaderů
Verze DirectX | Pixel shader | Vertex shader |
---|---|---|
8.0 | 1.0 / 1.1 | 1.0 |
8.1 | 1.2 / 1.3 / 1.4 | 1.0 |
9.0 | 2.0 | 2.0 |
9.0a | 2_A | 2.x |
9.0b | 2_B | 2.x |
9.0c | 3.0 | 3.0 |
10.0 | 4.0 | 4.0 |
10.1 | 4.1 | 4.1 |
Geometry shader
Umožňuje přidávat a odebírat vrcholy a tím upravovat geometrii. Využití např. pro vytvoření ostnů na modelu dinosaura nebo zarůstání plotu trávou v reálném čase. Tyto shadery zatím běží pouze na DirectX 10 pod Windows Vista v REF, v současnosti podporují DirectX 10 pouze grafické karty NVidia GeForce řady 8.
Náklady na energie a provoz naší encyklopedie prudce vzrostly. Potřebujeme vaši podporu... Kolik ?? To je na Vás. Náš FIO účet — 2500575897 / 2010 |
---|
Informace o článku.
Článek je převzat z Wikipedie, otevřené encyklopedie, do které přispívají dobrovolníci z celého světa. |