Premium

Získejte všechny články
jen za 89 Kč/měsíc

Jazyk Cg od NVIDIE: nová éra v programování grafických efektů

Programovat grafické efekty na úrovni hardwaru není žádný med a vývojáři her jistě mnohokrát zatoužili po jazyku vyšší úrovně, který by umožnil snadnější psaní pixel a vertex shaderů. NVIDIA jim nyní vychází vstříc a zdá se, že ve svém jazyce Cg přináší grafickému světu nový a pevný standard.

Historie se opakuje
Když se objevily první mikroprocesory, neexistovaly pro ně žádné jazyky vyšší úrovně (Pascal, C, Basic apod.). Prvním programovacím prostředkem, na němž se muselo teprve vybudovat všechno ostatní, byl tzv. assembler – jazyk, který má převelice blízko k vlastnímu strojovému kódu daného procesoru (strojovým kódem rozumíme elementární instrukce ve formě čísel, které procesor umí přímo vykonat). Pod každým příkazem vyššího programovacího jazyka se obvykle skrývá velké množství (desítky, stovky, ale i tisíce) jednotlivých strojových instrukcí procesoru. Dnešní nástroje, jejichž pomocí vznikají typické aplikační programy a hry, poskytují vývojářům možnosti na hony vzdálené primitivnosti strojového kódu.

Programovat v assembleru není žádný med a dělá se to v podstatě jen tehdy, když není pro daný procesor žádný vyšší jazyk k dispozici, nebo když je potřeba docílit maximální rychlosti programu. Proto bylo jen otázkou času, kdy se objeví něco komfortnějšího i pro grafické procesory (GPU) s programovatelnými enginy. První vlaštovka právě přilétá, je (nic překvapivého) z dílny agilní NVIDIE, ale bude použitelná na všech grafických čipech kompatibilních s DirectX 8.

Tři tisková prohlášení
Minulý týden přišla NVIDIA se třemi separátními zprávami, které položily solidní základnu pro nástup nové éry programování. V první z nich představila vlastní jazyk Cg – C pro grafiku, jehož účelem je podstatně zjednodušit tvorbu zvláštních efektů na moderních grafických kartách. Syntakticky je, jak už název napovídá, Cg velmi podobné klasickému Céčku – většina datových typů je stejná, stejně se deklarují i proměnné a funkce atd. Výhody vyššího jazyka nad dosud používaným assemblerem jsou zřejmé – kromě jiných můžeme jmenovat rychlejší a efektivnější vývoj a ladění, optimalizaci prováděnou kompilátorem a přenositelnost programu na větší množství hardwarových Cg aneb grafické Céčko od NVIDIEplatforem. Cg vznikalo v úzké spolupráci s Microsoftem – je kompatibilní s jeho jazykem High Level Shading Language (ohlášen na Game Developers Conference 2002 v dubnu tohoto roku), který bude podporován rozhraním DirectX 9.0.

Na následujícím obrázku vidíte grafické efekty, kterých lze docílit pomocí shaderů.

 Zatímco první tisková zpráva se týkala věci abstraktní, tedy specifikace jazyka, druhé oznámení se již týkalo konkrétního produktu: kompilátoru jazyka Cg. Tento kompilátor je ústředním bodem vývojového prostředí NVIDIA Cg Toolkit 1.0, jehož veřejnou betaverzi si lze zdarma stáhnout ze stránek NVIDIE (je k dispozici pro Windows a Linux). Pro neprogramátory: kompilátor je program, který ze zdrojového kódu (typicky textový soubor) vytvoří cílový kód – v případě kompilátoru jazyka Cg (CgC) se jedná o výstup v assembleru pro grafický čip. CgC podporuje tyto významné platformy: Windows (DirectX 8, DirectX 9, OpenGL), Linux (OpenGL), Mac OS X (OpenGL) a Xbox. NVIDIA zřídila speciální stránku http://www.cgshaders.org, která se má stát oblíbeným návštěvním místem všech tvůrců pixelvertex shaderů – měli by zde najít volně použitelná dílka jiných autorů (a případně sami přispět), články na související témata a soutěže o zajímavé ceny.

Ve třetí tiskové zprávě se NVIDIA chlubí, a s největší pravděpodobností oprávněně, širokou podporou, které se jejím výše popsaným iniciativám dostává u vývojářů her a jiných grafických aplikací. Mnoho významných osobností se vyjádřilo o jazyku Cg a jeho kompilátoru od NVIDIE velmi pochvalně; specifikace Cg se vyvíjela již od druhé polovinyCg aneb grafické Céčko od NVIDIE roku 2001, NVIDIA oslovila stovky vývojářů a ti přispěli ke konečné podobě jazyka svými připomínkami a návrhy. Z herních firem, které podporují Cg, můžeme jmenovat například Bethesdu, Bioware, Blizzard, Codemasters, Core Design, Croteam, Electronic Arts, Ensemble Studios, Fox Interactive, Ion Storm, Lionhead, Lithtech, Massive, Maxis, Novalogic, Relic, Sony nebo Valve. Cg se však uplatní i v „seriózních“ grafických aplikacích firem jako je Alias|Wavefront Maya, Discreet 3DS MAX, SOFTIMAGE|XSI nebo NewTek LightWave 3D.

Základ byl položen
NVIDIA učinila další významný krok, aby upevnila pozici světového grafického lídra – a toto není (jen) reklamní slogan, ale evidentní fakt. Grafické procesory dozrály do stadia, kdy si již zaslouží programovací prostředek vyšší úrovně, a NVIDIA nezaváhala a dodala ho. Zavádí tak v jazyku Cg standard, který se jistě prosadí, a jeho specifikaci si NVIDIA podrží pevně ve svých rukách. Ostatní výrobci grafických čipů se tak buď budou muset smířit s tím, že jejich produkty jsou ve většině případů programovány „konkurenčním jazykem“, nebo se pokusí vytvořit nějaký gPascal či něco podobného. Nemusí však mít strach, že by kompilátor Cg generoval pro jejich čipy nějak nevýhodný kód – a pokud by jim to tak náhodou připadalo, nic jim nebrání vytvořit vlastní překladač Cg, který bude perfektně optimalizovat právě na míru jejich hardwaru.

  • Nejčtenější

Kam pro filmy bez Ulož.to? Přinášíme další várku streamovacích služeb do TV

v diskusi je 125 příspěvků

26. března 2024

S vhodnou aplikací na vás mohou v televizoru na stisk tlačítka čekat tisíce filmů, seriálů nebo...

Z jaderné triády zbyly Britům už jen ponorky. A ty musejí posílit

v diskusi je 76 příspěvků

27. března 2024

Jadernou triádu tvoří strategické bombardéry s jadernými zbraněmi, mezikontinentální balistické...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Rusko zastavilo odlet na ISS s první Běloruskou, letět měla i Američanka

v diskusi je 50 příspěvků

21. března 2024  10:23,  aktualizováno  14:26

Ve čtvrtek 21. března se necelých deset minut před půl třetí odpoledne měla vydat na Mezinárodní...

Hlučínsko patří nám. Před 100 lety byl podepsán definitivní protokol o hranici

v diskusi je 20 příspěvků

28. března 2024

Před 100 lety definitivně skončily tahanice o československo-německé hranice. 28. března 1924 byl...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Načapali jsme otesánka, který se velkého sousta nezalekne. Boeing 747-400F

v diskusi je 8 příspěvků

21. března 2024

Poté, co na Letiště Václava Havla Praha přestaly v barvách Qatar Airways létat nákladní Boeingy...

Dočasná raketa se po téměř 70 letech loučí. Nyní startuje naposledy

v diskusi nejsou příspěvky

28. března 2024  15:36

Tento čtvrtek stojí na startovací rampě mysu Canaveral poslední potomek raket Thor, nosič Delta IV...

Američané odepsali modul, který je vrátil po půl století na Měsíc

v diskusi je 20 příspěvků

28. března 2024,  aktualizováno  11:41

Od začátku letošního roku je na Měsíci a kolem něj poměrně rušno. Vedle řady sond, které zamířily...

Hlučínsko patří nám. Před 100 lety byl podepsán definitivní protokol o hranici

v diskusi je 20 příspěvků

28. března 2024

Před 100 lety definitivně skončily tahanice o československo-německé hranice. 28. března 1924 byl...

Úspěšný let prototypu XB-1 vrací do hry cestování nadzvukovou rychlostí

v diskusi je 33 příspěvků

27. března 2024  17:17

Po více než dvaceti letech, od ukončení provozu letounu Concorde, se možná opět dočkáme nadzvukové...

Rána pro britskou monarchii. Princezna Kate má rakovinu, chodí na chemoterapii

Britská princezna z Walesu Kate (42) se léčí s rakovinou. Oznámila to sama ve videu na sociálních sítích poté, co se...

Smoljak nechtěl Sobotu v Jáchymovi. Zničil jsi nám film, řekl mu

Příběh naivního vesnického mladíka Františka, který získá v Praze díky kondiciogramu nejen pracovní místo, ale i...

Rejžo, jdu do naha! Balzerová vzpomínala na nahou scénu v Zlatých úhořích

Eliška Balzerová (74) v 7 pádech Honzy Dědka přiznala, že dodnes neví, ve který den se narodila. Kromě toho, že...

Pliveme vám do piva. Centrum Málagy zaplavily nenávistné vzkazy turistům

Mezi turisticky oblíbené destinace se dlouhá léta řadí i španělská Málaga. Přístavní město na jihu země láká na...

Kam pro filmy bez Ulož.to? Přinášíme další várku streamovacích služeb do TV

S vhodnou aplikací na vás mohou v televizoru na stisk tlačítka čekat tisíce filmů, seriálů nebo divadelních...