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:
- Mentální paprsek
- Pixar RenderMan
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.
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í:
- 3DGM
- A7
- Blitz3D SDK
- Motor Cafu (dříve „motor Ca3D“)
- Šifra
- CMORE3D
- CryEngine 1/2/3
- DB / DBPro
- Freescape Engine
- Omrzlinový motor
- Gamebryo (dříve: Netimmerse)
- Inka3D (vývozce WebGL pro Mayu)
- Jamagic
- Jupiter Ex motor
- Mad F / X 1.0
- NuclearFusion s NuclearBasic od NuclearGlory Entertainment Arts
- PR
- Quest3D
- QuickDraw 3D
- Ředkev
- RF
- Motor SAGE
- Žralok 3D
- Zdrojový motor
- Trinigy vidění
- TV3D
- Jednota
- Neskutečný motor
- Virtools
Open source grafické enginy
Následující zdroje jsou ve zdrojovém kódu volně dostupné:
- Axiom -Engine C # (.NET port Ogre-Engine)
- Blender herní engine
- Motor Cafu (dříve „motor Ca3D“)
- CrystalSpace 3D Engine (Crystal Space není jen vykreslovací modul, ale také herní modul s podporou sítě, detekcí kolizí, správou objektů atd.)
- Cykly (vlastní 3D engine Blenderu)
- Doom motor
- Genesis 3D
- Horde3D (lehký vykreslovací modul s funkcemi nové generace)
- Irrlicht Engine (čistý renderovací engine)
- JMonkeyEngine (Java engine 3D game engine)
- 3D engine Lightfeather
- Zařízení Nebula
- OGRE (čistý renderovací engine)
- OpenSceneGraph (čistý renderovací modul)
- Panda3D
- PixelLight
-
Quake engine
- DarkPlaces (silně upravená varianta)
-
Motor
Quake II
- Qfusion
- Quake II Max
- Quake II se vyvinulo
-
Motor
Quake III
- ioquake3
- Herní engine Sauerbraten (3D engine)
- SFML (2D engine)
- Sparky engine (2D a více či méně 3D engine)
- Stratagus (engine strategie v reálném čase)
- Jaro (3D engine pro strategické hry v reálném čase)
- Momentový herní engine
- Ultimate 3D (bezplatný 3D engine pro komerční vývojové prostředí Game Maker )
- Community Engine ZFX
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
- Vývoj grafických modulů: Od počátků po 3D grafiku , PC Games Hardware , 13. května 2010
Specifikace:
Přehled 3D engine:
Individuální důkazy
- ↑ a b http://www.ca3d-engine.de/
- ↑ http://cz.ign.com/articles/2008/10/22/exploring-the-freescape
- ↑ 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.
- ↑ 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.
- ↑ http://axiomengine.sourceforge.net/
- ↑ http://www.horde3d.org/
- ↑ http://www.pixellight.org/
- ↑ http://www.torquepowered.com/