tim-sweeney-potreti-dx10-je-poslednim-grafickym-api
Novinka Tim Sweeney potřetí: DX10 je posledním grafickým API

Tim Sweeney potřetí: DX10 je posledním grafickým API

Michal Kleman

Michal Kleman

14

Včera jsme vám přinesli části rohovoru s Timem Sweenym, vývojářem Unreal enginu a ředitelem Epic Games. Co dále nás čeká v budoucnoti podle tohoto úspěšného IT guru?

Reklama

Jen úvodem krátce sdělím, o čem bude tento rozhovor, než se do něj vrhneme naplno (pro případ, že by se objevil nějaký čtenář, jemuž bude toto téma lhostejné). Herní průmysl čekají drastické změny a API DirectX od Microsoftu by také mohlo odejít "z výsluní." Následovníci Xboxu 360 a PS3 by mohli již v roce 2012 používat pouze softwarové pipelines a celkově čeká herní průmysl podle Sweeneyho velká revoluce.

Tim Sweeney potřetí: DX10 je posledním grafickým API
i Zdroj: PCTuning.cz

TG Daily: "V první části rohovoru jsi se zmiňoval o návratu k softwarovému rendrování. Nedávno Daniel Pohl předvedl hru Quake 3 renderovanou metodou zvanou RayTracing na UMPC společnosti Sony, ultra-mobilním notebooku, vybaveném jednojádrovým procesorem. Rozlišení sice bylo mnohem nižší, než v jakém se dnes běžně hraje, ale přesto byl výsledek úžasný. Co ty si myslíš o RayTracingu? Jak se bude 3D grafika vyvíjet v následujících měsících a rocích?"

Sweeney: "Ray Tracing je skvělou variantou pro budoucnost 3D renderingu. Je několik schémat vykreslování a rozdělování obrazu na jednotlivé micro-polygony a voxely. Kromě Ray Tracingu je pět až deset různých vykreslovacích technik a všechny jsou velmi zajímavé, jakožto budoucí alternativy. Veškerý rendering lze provádět procesorem. Až budeme mít dostatečný počet procesorových jader a lepší vektorovou podporu, mohou se tyto rendrovací metody dostat do praktického užití. A až budou GPU obecnější, bude možné vytvořit engine, který bude běžet přímo na grafickém procesoru a obejde zatím nutný DirectX a stejně tak grafickou pipeline. Pro příklad můžete psát rendrovací engine v CUDA a ten poběží na všech kartách NVIDIE.

Vlastně veškerý rendrovací software počítá se scénovými daty, jako je například vaše pozice, pozoce objektů atd., ale výsledkem je stále pouze síť souřadnic jednotlivých pixelů. Můžete použít různé techniky abyste zjednodušili tuto "mřížku", ale určitě nepotřebujete rasterizační jednotky grafického jádra.

TG Daily: "A jaké výhody vidíš ve vynechání API? Většina vývojářů DX nebo OpenGL využije. Jak se liší Unreal engine od konvenčních řešení?

Sweeney: "Je několik výhod ve vlastní výrobě (enginu), vyhnete se "nadvládě" API a případně jím nejste omezeni. S přímým přístupem můžeme používat techniky, které potřebují širší frame buffer a obecně věci, které DirectX prostě nepodporuje. V Epicu používáme GPU pro důležité výpočty v pixel shaderech. Tím, že obejdeme grafickou pipeline máme mnohem větší škálu možností.

TG Daily: "A jakou roli podle tebe má DirectX dnes? DirectX 10 spolu s Vistou byl příslibem skvělých efektů a přímý přístup k hardwaru při programování, navíc Microsoft tvrdil, že nové technologie přiblíží hraní na počítačích konzolím. DX10 je na trhu již nějakou tu chvilku a DX10.1 je přímo před námi. Co je na nich dobře a co špatně?"

Sweeney: "Nemyslím, že by se zde dělo něco neobvyklého. DX10 je dobré rozhraní. Když se Vista dostala ne trh, byly DX10 aplikace pomalejší, než jejich DX9 kolegové, ale to se dalo očekávat. Je to jednoduše proto, že vývojáři pracovali s předchozí generací API od Microsoftu velmi dlouho, a tak jsou ovladače pro toto rozhraní velmi propracované. S novým Directem museli všichni začínat od začátku. V posledních týdnech a měsících jsme mohli zaznamenat, že nový DX10 pomalu, ale jistě DirectX 9 dohání a v budoucnu ho i překoná."


Pokud vím, tak DirectX 10 je jen malé rozšíření předchozí generace. Velké věci při DirectX9 byla podpora pixel a vertex shaderů: Nyní můžete napsat libovolný kód (program) a DX10 ho prostě vezme na novou úroveň, nabídne geometrické shadery a nové "vymoženosti" a modely. Aůe nemění to grafiku ve své podstatě, na rozdíl od DX9. To byl obrovský skok oproti DX8 a DX7.

TG Daily: "Ty jsi šlenem dozorčí rady Microsoftu, zabývající se programovatelným rozhraním DirectX, zřejmě tušíš, co můžeme čekat od další generace. Vidíš potenciál pro rozštěpení a rozšíření API do několika jednotlivých rozhraní? (pozn.red.: Překlad odborného tématu bývá dost náročný, proto prosím nekritizujte, že jsou zde čísti textu napsány velmi "kostrbatě" a "šroubovaně," jen se snažím vyjádřit myšlenky Tima Sweeneyho a redaktora TG Daily.)

Sweeney: "Myslím, že Microsoft dělá pro grafické API dobrou věc. Vždy se najde mnoho vývojářů, kteří programují přes API - v těchto dnech přes DirectX. Pro ně bude API vždy dobrým řešením. Je to pro ně jednodušší cesta jak dostat obraz na monitor. Popravdě si však myslím, že DirectX 10 bude posledním DirectX grafickým API, které bude pro vývojáře vhodné. v budoucnosti budou vývojáři psát vlastní rendrovací enginy, které budou užívat zároveň CPU i GPU. Myslím, že se k tomuto dostaneme celkem rychle.
Očekávám, že při vypuštění další generace konzolí, okolo roku 2012, kdy Microsoft vydá následovníka Xboxu 360 a Sony nový PlayStation, hry budou na stoprocentně fungovat na principu softwarových pipelines. Někteří vývojáři možná budou používat directX, ale z toho se spíše stane softwarová nadstavba na vrchulo... víte čeho."

TG Daily: "Hardwaru?"

Sweeney: "GPU. A navíc můžete DirectX provozovat plně na procesoru. Softwarové rendrování přes DirectX zde bude vždy. Microsoft pracuje na referenčním rasterizéru, který je však asi stokrát pomalejší, než bychom potřebovali, ale ukazuje nám, že můžete zprovoznit kompletně grafickou pipeline v softwarové vrstvě. Myslím, že jsme pouze několik let od doby, než bude tento přístup rychlejší než konvenční API - a my budeme schopní vytvářet hry tímto způsobem. Zamyslete se například nad softwarovým rendrováním společnosti Pixomatic."

TG Daily: "Tato technologie je úžasná." (více o ní si můžete přečíst zde. Bohužel se jedná o téma ne další velký článek, takže jen v kostce: Jde o softwarový rasterizér schopný využívat procesory architektury x86 a grafickou kartu s DirectemX sedmé nebo osmé generace.

Sweeney: "Ano, do DiretctuX8 jsme byli schopni používat software Pixomatic. V Unrela Tournamentu 2003 můžete dokonce hrát při, zatímco se kompletně rendruje obraz procesorem. Tato metoda je absolutně nezávislá na vašem grafickém hardwaru. Na čtyřjádrovém procesoru by toto bylo opět možné, měli byste být schopni plně softwarově rendrovat obraz. Časem grafické API Microsoftu ztratí význam, stejně jako všechny jiné a že jen ve Windows jsou jich stovky. Jsou to pouze alternativy pro lidi, kteří nechttějí přistupovat rovnou k hardwaru."

Přečetli jste si rozhovor s Timem Sweeneym. Jestliže vás tento rozhovor opravdu zaujal, je zde ještě část, dále se zabývající možnostimi GPU, CPU a případně jejich spojením, řeší se také možnost běhu OS na grafikém jádře. Opravdu je toho mnoho, ale případné zájemce musím upozornit, že jde o velmi složité odborné povídání v cizím jazyku, takže i přes to, že jde o velmi zajímavé téma, ho málokdo pochopí. Já osobně se možná v budoucích hodinách/dnech pokusím udělat přepis tohoto rozhovoru, ale za jeho kvalitu nemohu ručit (už toto je dost "spatlané").

Podle TG Daily


Reklama
Reklama

Komentáře

Nejsi přihlášený(á)

Pro psaní a hodnocení komentářů se prosím přihlas ke svému účtu nebo si jej vytvoř.

Rychlé přihlášení přes:

Google Seznam
Reklama
Reklama