Cg (programovací jazyk)
Author
Albert FloresCg je programovací jazyk, který byl vyvinut společností NVIDIA pro psaní shaderů v počítačové grafice. Jazyk Cg umožňuje programátorům vytvářet efekty, které se používají ve 3D grafice a v reálném čase se vykreslují na obrazovku. Cg je založen na jazyce C a podobně jako jiné shaderové jazyky umožňuje programátorům specifikovat, jak se mají objekty ve scéně vykreslovat. Cg podporuje různé platformy, včetně Windows, Linux a macOS, a je kompatibilní s grafickými kartami od NVIDIA. Jazyk Cg je často používán v herním průmyslu a je jedním z nejpopulárnějších shaderových jazyků. Vývoj Cg jazyka byl ukončen v roce 2012, ale stále se používá ve vývoji her a výpočetní grafiky.
Cg (z anglického C for graphics) je vyšší programovací jazyk pro psaní shaderů vyvinutý společností NVIDIA (od roku 2002). Syntakticky je velmi podobný jazyku High Level Shader Language (HLSL) od společnosti Microsoft.
Z důvodu možnosti dvoustupňového překladu může být pro běh zapotřebí Cg runtime (překlad programu pak probíhá i dynamicky, tj. až v době běhu aplikace pro konkrétní GPU). +more V této souvislosti se hovoří o cílových profilech (konkrétní verze shaderů a tedy instrukční sady).
Syntaxe jazyka Cg je odvozena od jazyka C. Mezi důležitá rozšíření jazyka patří vektorové operace, operátor swizzle, další datové typy (half, fixed, vektorové a maticové typy, sampler* typy pro textury).
Syntaxe a použití jazyka
Jazyk Cg je z hlediska syntaxe i použití velmi podobný (ve spoustě aspektů identický) jazyku High Level Shader Language (HLSL) od společnosti Microsoft.
Příklad
Vertex shader v Cg:
// vstupní vrchol struct VertIn { float4 pos : POSITION; float4 color : COLOR0; };
// výstupní vrchol struct VertOut { float4 pos : POSITION; float4 color : COLOR0; };
// vstup vertex shaderu VertOut main(VertIn IN, uniform float4x4 modelViewProj) { VertOut OUT; OUT. pos = mul(modelViewProj, IN. +morepos); // spočítej výstupní souřadnice OUT. color = IN. color; // zkopíruj vstupní barvu do výstupní OUT. color. z = 1. 0f; // modrá složka barvy = 1. 0f return OUT; }.
Externí odkazy
[url=http://http. developer. +morenvidia. com/CgTutorial/cg_tutorial_chapter01. html]Tutoriál Cg[/url] * [url=http://developer. nvidia. com/object/cg_faq. html]Cg FAQ[/url] * [url=http://developer. nvidia. com/page/cg_main. html]domovská stránka jazyka Cg[/url].
Kategorie:Programovací jazyky Kategorie:Shader jazyky Kategorie:Software pro 3D grafiku Kategorie:NVIDIA