Cg (programovací jazyk)

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Cg 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; }.

Související články

HLSL * GLSL * CUDA

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

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top