Co je to Shader?
Shader je malý program, který se spouští na grafickém procesoru (GPU) za účelem provádění konkrétního úkolu, jako je vykreslování 3D grafiky nebo aplikace vizuálních efektů na video. Shadery jsou obvykle napsány ve specializovaném programovacím jazyce, jako je GLSL (OpenGL Shading Language) nebo HLSL (High-Level Shading Language), a používají se k výpočtu konečné barvy každého pixelu v grafickém obrázku.
Shadery lze rozdělit do několika typy podle jejich účelu:
1. Vertex shader: Vertex shader je zodpovědný za transformaci vrcholů 3D modelu do prostoru obrazovky. Provádí se jednou na vrchol a používá se k provádění transformací, jako je rotace, změna měřítka a posunutí.
2. Fragment shader: Fragment shader je zodpovědný za výpočet konečné barvy každého pixelu v grafickém obrázku. Provádí se jednou na pixel a používá se k aplikaci vizuálních efektů, jako je mapování textur, osvětlení a prolnutí.
3. Shader geometrie: Shader geometrie je zodpovědný za transformaci geometrie 3D modelu, jako jsou jeho vrcholy, hrany a plochy. Provádí se jednou pro každé geometrické primitivum (jako je bod, čára nebo trojúhelník) a používá se k provádění transformací, jako je vyřazení, oříznutí a morfování.
4. Tessellation shader: Tessellation shader je zodpovědný za rozdělení složitého tvaru na menší, jednodušší tvary. Provádí se jednou na hraně tvaru a používá se k vytváření detailních modelů s vysokým rozlišením.
5. Compute shader: Compute shader je specializovaný typ shaderu, který se používá k provádění složitých výpočtů na velkých polích dat. Nepodílí se přímo na vykreslování grafiky, ale používá se k provádění úkolů, jako jsou fyzikální simulace, generování procedur a zpracování dat. od vědecké vizualizace až po virtuální realitu. Umožňují vývojářům vytvářet detailní, realistickou grafiku a simulovat složité jevy v reálném čase.



