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ší

Vyzkoušeli jsme podvod z Aliexpressu. Může vás přijít draho, i po letech

v diskusi je 110 příspěvků

14. března 2024

Nakoupili jsme na Aliexpressu a pěkně se spálili. Jednu USB paměť, dvě externí SSD a jeden externí...

Nejsilnější raketa úspěšně prošla prvním testovacím letem do vesmíru

v diskusi je 138 příspěvků

14. března 2024  12:12,  aktualizováno  15:31

Společnost SpaceX poprvé dostala svůj Starship do vesmírného prostoru. Po dvou předchozích...

{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...}

Svět uznal nároky Beneše. Československo vyhrálo spor s Polskem o Javorinu

v diskusi je 42 příspěvků

12. března 2024

Před 100 lety se Československo dočkalo mezinárodního uznání ve sporu s Polskem o Javorinu....

Tato novinka ve vyhledávání Googlu lidi pěkně vytáčí. Máme řešení

v diskusi je 153 příspěvků

12. března 2024  10:45

Jedna z novinek, kterou přineslo evropské Nařízení o digitálních trzích, je změna v tom, jak Google...

{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...}

Polopás není polovičaté řešení. Třetí říše byla mistrem v oboru

v diskusi je 9 příspěvků

18. března 2024

Druhá světová válka byla zlatým věkem polopásových vozidel. Vyráběli je především Němci a...

VIDEO: Střílej po mně! Kameraman natočil téměř celý útok v centru Prahy

Premium Ve čtvrtek zemřelo rukou střelce Davida K. 14 obětí, 25 lidí je zraněných, z toho deset lidí těžce. Jedním z prvních na...

Máma ji dala do pasťáku, je na pervitinu a šlape. Elišku čekají Vánoce na ulici

Premium Noční Smíchov. Na zádech růžový batoh, v ruce svítící balónek, vánoční LED svíčky na baterky kolem krku. Vypadá na...

Test světlých lahvových ležáků: I dobré pivo zestárne v obchodě mnohem rychleji

Premium Ležáky z hypermarketů zklamaly. Jestli si chcete pochutnat, běžte do hospody. Sudová piva totiž dopadla před časem...

Kuličková myš, VHS a další technologické skvosty nedávné minulosti

v diskusi je 5 příspěvků

19. března 2024

S některými bylo možné se běžně setkat ještě před deseti lety, jiné je možné koupit a používat...

Od Amazonu po Voyo. Velký test streamovacích služeb našel obří rozdíly

v diskusi je 7 příspěvků

19. března 2024

Premium V jedné můžete vybírat z dvou set filmů a seriálů, ve druhé z osmi tisíc. V jedné je speciální...

Zemřel astronaut Stafford, který si ve vesmíru „podal“ ruku s Leonovem

v diskusi nejsou příspěvky

18. března 2024  19:10

Ve věku 93 let po dlouhé nemoci zemřel někdejší astronaut Thomas Stafford, který byl zapojený do...

Apple přidá do svých zařízení generativní AI, využije k tomu Google

v diskusi nejsou příspěvky

18. března 2024  13:34

Apple jako jedna z mála technologických společností nezachytil příchod vlny generativní umělé...

Nutný výchovný pohlavek, souhlasí Bouček i Havlová s přerušením projevu na Lvu

Moderátor Libor Bouček ostře zareagoval na kauzu ohledně délky proslovu režisérky Darji Kaščejevové na předávání cen...

Švábi, vši a nevychované děti. Výměna manželek skončila už po pěti dnech

Nová Výměna manželek trvala jen pět dní, přesto přinesla spoustu vyhrocených situací. Martina ze Znojma se pokoušela...

Vyzkoušeli jsme podvod z Aliexpressu. Může vás přijít draho, i po letech

Nakoupili jsme na Aliexpressu a pěkně se spálili. Jednu USB paměť, dvě externí SSD a jeden externí HDD. Ve třech...

Chtěli, abych se vyspala s Baldwinem kvůli jeho výkonu, říká Sharon Stone

Herečka Sharon Stone (66) jmenovala producenta, který jí řekl, aby se vyspala s hercem Williamem Baldwinem (61). Měla...

Konec nadvlády programátorů. Pozic ubývá, na jednu se hlásí stále víc lidí

Premium Ochota firem splnit uchazečům skoro jakýkoli požadavek a velmi nízká konkurence. Tak by se ještě nedávno dala definovat...