Shader: Porovnání verzí

Smazaný obsah Přidaný obsah
doplněno, ze starý verze přesunuty některý části do GPU
Reeloo (diskuse | příspěvky)
m stylisticka uprava;+upresneni vertex shader
Řádek 2:
 
== Vertex shader ==
Program, který se provede na každýkaždém vrcholvrcholu (vertexvertexu) vstupní geometrie. Nejčastěji provádí transformaci (násobí vrchol World, View a Projection [[matice]]mi) a výsledkem je pozice na obrazovce (screen space) - tedy převádí 3D model do 2D plochy. Může S vrcholy 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 pixely na obrazovce, na které je nutno nanést [[Textura (počítačová grafika)|texturu]], případně s nimi jinak manipulovat. K tomu slouží pixel shader, který se provede na každýkaždém pixelpixelu na obrazovce. ProtoProtože jsou tyto operace náročné na hardware, abývají pixel shadery často jednodušší a maximálně optimalizované.
 
== 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. Pro výpočty se používají univerzální (unifikovanýunifikované) jednotky, díky tomučemuž dochází teoreticky stále ke 100% vytížení jádra. Tyto shadery zatím běží pouze na [[DirectX]] 10 a verzeverzích na něm stavěnýstavěných pod [[Windows Vista]] v REF. V současnosti podporují [[DirectX]] 10 grafické karty [[NVidia]] GeForce řady 8 a vyšší, [[ATI]] Radeon HD2000 řada a vyšší a v poslední době také grafické karty jiných výrobců ([[Intel]], [[S3]] atd.). DirectX 10.1 podporuje řada Radeon HD3000 a S3 Chrome 400 a vyšší.
 
== Historie shaderů v DirectX ==