Grafický modul

Grafický engine (doslova „grafický stroj“ , volněji: „grafický engine“ nebo „grafickým modulem“ ) je součástí počítačového programu nebo počítačový hardware , tzv motorem , který je zodpovědný za zobrazení počítačová grafika . Ve většině případů jde o co nejrealističtější 3D počítačovou grafiku, jako jsou objekty, prostředí a lidé (klíčové slovo: virtuální realita ). V souvislosti s 3D počítačovou grafikou se grafický modul také označuje jako 3D engine . Konkrétně se jedná o integrovaný nebo externě uložený programový kód, který je zodpovědný za výpočet grafického rozhraní paralelně se skutečnou hrou (viz herní engine ).

Grafický engine je často chápán jako součást herního enginu, ale ve skutečnosti je odpovědný pouze za výpočet displeje, zatímco výraz herní engine představuje základ celé hry (audio, hratelnost, nabídky atd.). Kromě her mohou grafický modul ovládat také další aplikace, jako jsou CAD nebo geografické aplikace a obecný vizualizační software.

Často je zaměňován s vykreslovacím modulem , který na displeji vydává pouze data dostupná ve 3D světě.

funkce

Grafický modul nabízí programátorovi širokou škálu grafických funkcí a efektů (popis geometrických objektů, povrchové textury , světlo a stín ( stínování ), průhlednost , odrazy atd.), Aby je nemusel opakovaně přeprogramovávat pro své speciální aplikace.

Zejména u 3D počítačových her, jako jsou střílečky z pohledu první osoby , je pro komerční úspěch hry rozhodující kvalita účinků jejich příslušného grafického enginu, a proto je jim v této oblasti věnována velká pozornost.

Existují různé techniky, které představují trojrozměrné světy v počítači: 3D svět je nejčastěji konstruován polygony , tyto povrchy jsou poté pokryty druhem tapety, texturou . Existují také částicové efekty, které mohou představovat například mlhu, špínu, oheň nebo vodu. V pokročilých 3D motorech jsou textury pokryty takzvanými bump mapami , které dávají trojrozměrnou strukturu.

Alternativní technikou vizuální konstrukce 3D světů je technika voxelů . Zde, srovnatelně s rastrovou grafikou , jsou barevná hodnota a vlastnosti každého bodu ve 3D světě uloženy v trojrozměrné datové sadě.

Konečnou fází celého procesu vizualizace je vykreslovací modul, který využívá data ke generování skutečného pixelového obrazu zobrazeného na obrazovce.

příběh

Termín se začal používat až v polovině 80. let, kdy Lucasfilm Games poprvé používaly svou 3D fraktální technologii a Epyx svůj Freescape Engine ve hrách. Freescape engine používali i další výrobci her. Na začátku 90. let začala společnost Id Software vyvíjet své grafické enginy pro 3D grafiku a za licenční poplatek je zpřístupňovat dalším výrobcům her ve větším měřítku. To jim umožnilo rychleji vyvíjet nové 3D hry. 3D grafika vyžaduje velmi složité optimalizace a výpočty a programátoři společnosti Id Software byli v té době lídry v těchto oblastech.

Pro mnoho počítačových her jsou 3D enginy od jiných výrobců licencovány, protože často se neoplatí vyvíjet vlastní moderní 3D grafiku. Hru lze dokončit mnohem rychleji a obvykle má lepší grafiku, než by tomu bylo v případě úplné vlastní produkce.

Motory v oblasti filmu a počítačových her

Film

Grafické enginy pro vykreslování realisticky vypadajících obrázků a animací jsou mnohem složitější než u her. V závislosti na výpočetním výkonu může vykreslení jednoho obrázku trvat několik hodin. Graficky složité filmové scény proto často musí počítat desítky počítačů současně.

Nejběžnějším renderovacím softwarem je:

Pomocí programů jako Houdini , Maya , LightWave 3D , Cinema 4D , 3ds Max , Blender a ZBrush se vytvářejí modely (lidé, efekty atd.), Které se poté vypočítají („vykreslí“) tak, aby 3D grafika je vytvořen.

Rozdíl oproti grafickým enginům her spočívá v fyzické přesnosti a mnohem složitějších metodách výpočtu, jako je konečné shromáždění , globální osvětlení , žíravina , sledování paprsku . Žádný motor však není zcela fyzicky v pořádku. Cílem je, aby obrázky vypadaly „jako by“.

Použití tak složitého softwaru sahá od vizualizací produktů, architektury, efektů až po zcela digitální filmy jako Final Fantasy VII: Advent Children , Finding Nemo nebo efekty a lidi ve filmech jako Star Wars , Lord of the Rings a The Matrix . Bez pokračujícího vývoje vykreslovacího softwaru by tyto filmy nebyly proveditelné.

počítačová hra

Grafické enginy pro výpočet her jsou mnohem početnější a rychle se rozvíjejí.

V počítačových hrách grafický engine obvykle také provádí fyzikální výpočet. Zvuk a AI však nejsou součástí úkolů grafického enginu.

Současné motory jsou např. B. id Tech 6 ( Doom ), Unreal Engine 4 ( Gears of War 4 , ARK: Survival Evolved ), CryEngine V ( Prey ), Frostbite 3 ( Battlefield 1 , Star Wars: Battlefront ) a Unity ( Pokémon GO , Firewatch ).

Omezený výpočetní výkon je hlavní obtíž. Při výrobě filmu může vytvoření jediného obrazu trvat několik hodin nebo déle, zatímco jeden obrázek ve hře musí být vypočítán za zlomek sekundy. Aby herní enginy vůbec fungovaly, musí mít určité minimální požadavky na GPU a CPU.

Rozdíly mezi filmem a hrou

Rozdíl mezi hrou a filmem je vidět například ve filmu Final Fantasy a ve hře se stejným názvem. Obrázek (1 sekunda ~ 24 obrázků) se v případě filmu počítá až na 90 hodin, zatímco u hry se musí vypočítat 24 obrázků za jednu sekundu. Grafické enginy pro počítačové hry se proto zaměřují na výpočetní rychlost a na rozdíl od filmů se musí vzdát realismu a přesnosti. I dnes jsou grafické motory obvykle stále oddělené, pokud jde o požadavky a oblasti použití.

Trend dalšího překrývání filmu a hry

Mezitím existuje trend využívat ve filmovém sektoru stále více technologií v reálném čase, protože se dříve používaly pouze ve hrách. Důvodem je v neposlední řadě to, že grafické karty jsou nyní tak výkonné, že mohou provádět výpočty v reálném čase, které dříve bylo možné počítat pouze offline.

Z tohoto důvodu dnes všechny známé programy pro 3D modelování, jako jsou Maya , XSI a 3ds Max, podporují nejen klasické offline vykreslování, ale také vykreslování v reálném čase (funkce „náhledu“), kde můžete okamžitě vidět výsledek. To významně zlepšuje pracovní postup počítačových grafiků, protože místo čekání na hodiny mohou rychle vidět a posoudit výsledek změn. V této oblasti také cíleně investují výrobci grafických čipů, jako je Nvidia , například do vývoje a marketingu shaderového jazyka Cg , který se používá v obou oblastech. Totéž platí pro jazyk shaderu HLSL vyvinutý společností Microsoft . Efekty vykreslování vyvinuté v těchto jazycích lze tedy použít - alespoň v omezené míře nebo při přepracování - v obou oblastech. Souhrnně lze říci, že techniky grafických enginů pro počítačové hry a film se stále blíží.

Dalším aspektem je, že způsoby vytváření grafiky pro grafické enginy se stále více sbíhají pro počítačové hry a filmy.

  • Existovaly samostatné programy pro vývoj počítačových her, jako například editory na speciální úrovni. Programy jako Maya se nyní ve výchozím nastavení používají pro hry i filmy. Grafické enginy počítačových her a filmů pracují se stále podobnějšími vstupními daty.
  • Použité techniky modelování jsou stále více podobné. Zatímco světy počítačových her se dříve skládaly z jednotlivých polygonů, nyní se používají techniky, jako jsou dělící povrchy a textury , jako ve filmu . I zde je důvodem to, že techniky základních grafických enginů se sblížily.
  • V obou průmyslových odvětvích pracuje stále více počítačových grafiků. Například id Software konkrétně najal grafické designéry z filmového průmyslu pro Doom 3 . Naopak grafici počítačové hry Final Fantasy později vytvořili počítačovou grafiku pro film stejného jména.

Milníky ve 3D grafických enginech

Z velkého počtu grafických enginů (které často nemají vlastní název a nesou název hry, pro kterou byly vyvinuty) vynikají některé, které jsou uvedeny v následující přehledové tabulce.

Chronologický přehled nejdůležitějších grafických modulů
Název hry Motor společnost rok
Driller Freescape Engine Motivační software 1987
Wolfenstein 3D Wolfenstein 3D engine id software 1992
Ultima Underworld: The Stygian Abyss Ultima Underworld engine Produkce Blue Sky 1992
Osud Doom motor id software 1993
Šok systému Systémový šokový motor Hledáte Glass Studios 1994
Zemětřesení Quake engine ( id Tech 1) id software 1996
Duke Nukem 3D Sestavte motor 3D říše 1996
Quake II Quake engine ( id Tech 2) id software 1996
Neskutečný Neskutečný motor Epické hry 1998
Aréna Quake III Motor Quake III ( id Tech 3) id software 1999
Neskutečný turnaj Unreal Engine 1.5 Epické hry 1999
Svatozář Halo motor Bungie Studios 2001
Červená frakce GeoMod Engine THQ 2001
The Elder Scrolls III: Morrowind Gamebryo Ubi Soft 2002
Neskutečný turnaj 2003 Unreal Engine 2 Epické hry 2002
Far Cry CryEngine 1.0 Krytek 2004
Neskutečný turnaj 2004 Unreal Engine 2.5 Epické hry 2004
Doom 3 Motor Doom 3 ( id Tech 4) id software 2004
Poloviční život 2 Zdrojový motor Ventil 2004
STRACH Jupiter Ex motor Monolith Productions 2005
The Elder Scrolls IV: Oblivion Gamebryo engine Bethesda Softworks 2006
Společnost hrdinů Essence Engine Relikvická zábava 2006
Gears of War Unreal Engine 3 Epické hry 2006
krize CryEngine 2 Krytek 2007
Neskutečný turnaj 3 Unreal Engine 3 Epické hry 2007
GTA IV Pokročilý herní engine Rockstar Přirozený pohyb 2008
Far Cry 2 Dunia Engine Ubisoft 2008
Uncharted 2: Among Thieves Naughty Dogs herní engine 2.0 Nezbedný pes 2009
Vztek id Tech 5 id software 2011
Battlefield 3 Frostbite 2 motor KOSTKY 2011
Gears of War 3 Unreal Engine 3.5 Epické hry 2011
Crysis 3 CryEngine 3 Krytek 2013
Eva: Valkyrie Unreal Engine 4 Epické hry 2014

Populární grafické enginy, přinejmenším v oblasti stříleček z pohledu první osoby , pocházejí v posledních letech téměř výhradně z id Software , Epic Games a Valve . V roce 2004 udělala průlom německá společnost Crytek také se svým CryEngine 1.0, který se používá ve Far Cry. Jako další německá společnost Spinor dokázala se svým 3D motorem Shark , že dobrodružná hra Dreamfall založená na ní od norské společnosti Funcom získala několik ocenění na E3 2004.

Komerční grafické enginy

Následující 3D enginy jsou veřejné a dosud publikované pro komerční použití:

Open source grafické enginy

Následující zdroje jsou ve zdrojovém kódu volně dostupné:

Rozhraní pro grafické stroje

Použitý grafický modul má zásadní vliv na vzhled počítačové hry. Určili jste z. B. kolik polygonů lze zobrazit nebo zda se používá DirectX , OpenGL nebo jiné grafické rozhraní.

Použitá verze DirectX je také důležitá. Pixel a vertex shadery jsou podporovány pouze od DirectX 8 a dále . jsou potřebné pro realistické vodní plochy, stíny a animace postav .

Grafický engine je obvykle nedílnou součástí herního enginu a nelze jej jednoduše vyměnit. Některé hry pro Windows mají rozhraní DirectX i OpenGL. V systému Linux jsou však k dispozici pouze OpenGL a Vulkan . (DirectX je k dispozici pod Linuxem s běhovým prostředím Wine nebo Cedega , ale ne všechny Windows hry s Wine fungují.) Operační systém pro Mac , macOS , také spoléhal výhradně na OpenGL, dokud Apple nespustil vlastní grafické rozhraní Metal v OS X El Představen program Capitan v roce 2015 (verze 10.11). Metal 2 je primárním grafickým modulem od macOS Catalina (verze 10.14, 2018), a tak zcela nahrazuje OpenGL, který zůstává v macOS, ale již není vyvíjen.

OpenGL normalizace obvykle daleko zaostává, ale díky přímé rozhraní do grafických ovladačů , nové funkce jsou k dispozici také ve starých verzích, obvykle ještě předtím, než rozhraní DirectX.

webové odkazy

Specifikace:

Přehled 3D engine:

Individuální důkazy

  1. a b http://www.ca3d-engine.de/
  2. http://cz.ign.com/articles/2008/10/22/exploring-the-freescape
  3. Archivovaná kopie ( upomínka na originál ze dne 24. prosince 2014 v internetovém archivu ) Info: Odkaz na archiv byl vložen automaticky a dosud nebyl zkontrolován. Zkontrolujte prosím původní a archivovaný odkaz podle pokynů a poté toto oznámení odstraňte. @ 1@ 2Šablona: Webachiv / IABot / www.nuclearglory.com
  4. Archive link ( Memento na originálu z 13. března 2008 v Internet Archive ) Info: archiv odkaz se automaticky vloží a dosud nebyly kontrolovány. Zkontrolujte prosím původní a archivovaný odkaz podle pokynů a poté toto oznámení odstraňte.  @ 1@ 2Šablona: Webachiv / IABot / www.quest3d.com
  5. http://axiomengine.sourceforge.net/
  6. http://www.horde3d.org/
  7. http://www.pixellight.org/
  8. http://www.torquepowered.com/