Moor∙v zßkon, kter² °φkß, ₧e rychlost hardwaru se zdvojnßsobuje ka₧d²ch 18 m∞sφc∙, u₧ dßvno p°estal platit ve v²voji grafick²ch karet, kde je zrychlenφ podstatn∞ vyÜÜφ. Dobrß zprßva pro u₧ivatele, Üpatnß pro v²vojß°e.
Status quo
Zmatek je nejbli₧Üφ sluÜnΘ slovo, kterΘ se dß pro stßvajφcφ situaci na trhu s grafick²mi kartami pou₧φt. Vzßjemn∞ si konkurujφcφ firmy se sna₧φ ovlßdnout trh pomocφ dvou zßkladnφch strategiφ - zrychlovßnφm zßkladnφch funkcφ a v²vojem a vym²Ülenφm funkcφ nov²ch.
Prvnφ sm∞r je jednoznaΦn²: Φφm vφce osv∞tlen²ch a texturovan²ch troj·helnφk∙ za sekundu, tφm lΘpe. Rychleji se zobrazφ vφce detail∙, v∞deckΘ vizualizace se zobrazφ rychleji a lΘpe, p°φÜerky ve hrßch budou nahßn∞t vφce strachu atd. Druh² sm∞r, v²voj nov²ch funkcφ, je p°inejmenÜφm hodn∞ polemick², rozhodn∞ vÜak vnßÜφ do vÜeho zmatek. Technicky je toti₧ na ·rovni hardwaru mo₧nΘ podporovat leccos, jde jen o to, zda o to n∞kdo stojφ. P°φkladem mohou b²t N-patches pou₧φvanΘ v grafick²ch kartßch od r∙zn²ch firem. Novß funkce byla propagovßna pat°iΦnou reklamnφ kampanφ a barevn²mi obrßzky na webu. Pozd∞ji se vÜak od N-patches potichu upustilo. Nenφ to jedin² p°φpad.
Zdß se, ₧e i ve v²voji grafick²ch karet platφ klasick² zßkon 2 : 8. To znamenß, ₧e 80 % funkcφ se pou₧ije ve 20 % aplikacφ a naopak, 20 % funkcφ obsahuje 80 % chyb, 20 % funkcφ spot°ebovßvß 80 % v²konu atd. Je pom∞rn∞ obtφ₧nΘ odliÜit, kterΘ z nov²ch funkcφ jsou skuteΦn∞ nutnΘ, co je pot°ebnΘ, co je jen reklamnφ trik a co je zbyteΦnost.
Bohu₧el novΘ nestandardnφ funkce vedou ke starΘmu znßmΘmu jevu. Aby urΦit² program fungoval dob°e a rychle, musφte mφt p°φsluÜnou grafickou kartu. Pokud ji nemßte, program se v horÜφm p°φpad∞ nespustφ, v lepÜφm se nesnesiteln∞ courß, nebo¥ dotyΦnß funkce je simulovßna na procesoru a nenφ provßd∞na hardwarov∞ na grafickΘ kart∞. Tato situace vß₧n∞ p°ipomφnß starΘ ÜpatnΘ Φasy, kdy si Φlov∞k nainstaloval nap°φklad 3D Studio Φi n∞jakou hru a musel nejprve urΦit, jakou kartu mß k dispozici - jinak vÜe b∞₧elo v rozliÜenφ 320 x 200 pixel∙ v Üestnßcti barvßch. Zakoupenφ novΘ a lepÜφ karty pak nevedlo ke zrychlenφ, ale ke konstatovßnφ programu, ₧e karta nenφ podporovßna. Jak by takΘ mohla b²t, kdy₧ ji v²vojß°i programu v dob∞ jeho v²voje nemohli znßt! Nyn∞jÜφ situace se tΘto v mnohΘm podobß.
Standardy
Jak se s p°ekotn²m v²vojem nov²ch funkcφ vyrovnßvajφ existujφcφ standardy pro 3D grafiku?
Direct3D (D3D) jde klasickou cestou rychl²ch inovacφ a nov²ch verzφ. Prakticky ka₧dΘ t°i m∞sφce se objevφ novß verze a je na vßs, abyste si ji stßhli a nainstalovali. V²vojß°∙m z toho jde hlava kolem, nebo¥ novΘ funkce nejsou v₧dy zp∞tn∞ kompatibilnφ, nejsou ani p°φliÜ dob°e dokumentovanΘ, navφc vzhledem k zßvratnΘmu tempu v²voje obsahuje pom∞rn∞ dosti chyb. Rozhodn∞ je vÜak D3D vynikajφcφ platforma pro hraΦiΦky, kte°φ musejφ okam₧it∞ vyzkouÜet nejnov∞jÜφch v²dobytky. Nev²hodou je, ₧e standard D3D je provozovßn pouze pod MS Windows. V²hodou je bezesporu jeho flexibilita.
StarÜφ standard OpenGL, kter² b∞₧φ prakticky na vÜem, se chovß konzervativn∞ji. Jen tak snadno se nenechß inovovat a jde cestou rozÜφ°enφ. Pokud si chcete s n∞jakou novou funkcφ pohrßt, musφte pou₧φt klasick² standard OpenGL a k tomu n∞kterß z rozÜφ°enφ, kterß jsou schovßna v souboru glext.h a rozliÜujφ se podle koncovek, nap°φklad glActiveTextureARB je rozÜφ°enφ od Architecture Review Board. OpenGL Architecture Review Board (ARB) je nezßvislΘ konsorcium v²znamn²ch firem p∙sobφcφch v oboru poΦφtaΦovΘ grafiky, kterΘ bylo ustaveno v roce 1992 a kterΘ dohlφ₧φ na rozvoj OpenGL.
Zatφmco rozÜφ°enφ jsou k dispozici celkem rychle, ka₧dß skuteΦn∞ novß verze OpenGL je p°ipravovßna pom∞rn∞ dlouhou dobu a v podstat∞ je reflexφ toho, co je na trhu stßlΘ a kudy s nejv∞tÜφ pravd∞podobnostφ p∙jde dalÜφ v²voj. RozÜφ°enφ OpenGL jsou v²born∞ dokumentovßna a p°ehlednß, bohu₧el u₧ je jich vφce ne₧ zßkladnφch funkcφ OpenGL, tak₧e by asi n∞jakß zm∞na byla vhodnß. Navφc standard OpenGL tΘm∞° v∙bec nereagoval na nejnov∞jÜφ trend ve v²voji, jφm₧ je programovatelnost grafickΘho hardwaru.
OpenGL 1.5 a OpenGL Shading Language 1.0
Dne 28. Φervence spoleΦnost SGI, kterß je vlastnφkem ochrannΘ znßmky OpenGL, oznßmila novou verzi OpenGL. Tato verze obsahuje n∞kterß ne p°φliÜ podstatnß rozÜφ°enφ, nap°φklad koneΦn∞ podporuje textury, kterΘ nemajφ velikost strany rovnΘ mocnin∞ dvou. V²znamnou zm∞nou je vÜak podpora OpenGL Shading Language 1.0.
Shading Language je programovacφ jazyk, kter² slou₧φ k programovßnφ grafick²ch karet. Toto novΘ rozÜφ°enφ by m∞lo sjednotit to, co existuje, a usm∞rnit (nikoli vÜak diktovat) nov² sm∞r v²voje. V podstat∞ ka₧dß souΦasnß grafickß karta obsahuje programovatelnΘ obvody. P°φstup k nim si jednotlivΘ firmy urΦovaly samy na ·rovni jazyka ne nepodobnΘmu assembleru. Existujφ pokusy o vyÜÜφ programovacφ jazyky, nap°φklad Nvidia mß sv∙j CG, tyto jazyky vÜak podporujφ prßv∞ jen grafickΘ karty p°φsluÜnΘ firmy. OpenGL se pokouÜφ vÜe sjednotit, vytvo°it standard a tφm i po°ßdek.
Dobrou zprßvou je, ₧e v podstat∞ vÜechny d∙le₧itΘ firmy jsou souΦßstφ konsorcia ARB zodpov∞dnΘho za v²voj OpenGL, tak₧e lze p°edpoklßdat, ₧e novΘ rozÜφ°enφ, aΦ od firmy SGI, je jak²msi konsensem. Ostatn∞ oficißlnφ tiskovß zprßva SGI, kterß specifikaci OpenGL 1.5 uvßdφ, p°inßÜφ pozitivnφ komentß°e od firem Nvidia a 3DLabs. Zatφm nenφ znßm postoj ostatnφch firem, d∙le₧itß bude p°edevÜφm reakce ATI. Co tiskovß zprßva bohu₧el neuvßdφ, je datum, kdy bude implementace k dispozici.
Zßv∞r
V²vojß°i, kte°φ dßvajφ p°ednost standardnφmu a stabiln∞jÜφmu OpenGL, ji₧ dlouhou dobu kritizovali ARB za pom∞rn∞ pasivnφ postoj k v²voji grafick²ch karet a cesta rozÜi°ovßnφ OpenGL pomocφ r∙zn²ch extenzφ je rozhodn∞ jen doΦasn²m °eÜenφm. Implementace nßvrhu OpenGL 2.0 je zatφm pouze na papφ°e. Proto by verze OpenGL 1.5 mohla b²t vynikajφcφm mezikrokem mezi zcela novou technologiφ a starou, ji₧ vφce ne₧ jedenßct let osv∞dΦenou a dokonale fungujφcφ verzφ. O tom, ₧e k n∞jakΘ zm∞n∞ dojφt musφ, nenφ mezi odbornφky sporu. Zda jsou OpenGL 1.5 a p°edevÜφm OpenGL Shading Language 1.0 tφm prav²m lΘkem, rozhodne Φas.