Grafik-Engine

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springenZur Suche springen
Dieser Artikel oder Abschnitt bedarf einer grundsätzlichen Überarbeitung. Näheres sollte auf derDiskussionsseite angegeben sein. Bitte hilf mit, ihn zuverbessern, und entferne anschließend diese Markierung.

EineGrafik-Engine (wörtlichGrafik-Maschine, freier etwa:Grafiktriebwerk oderGrafikmodul) ist ein Teil einesComputerprogramms oder einer Computer-Hardware, eine sogenannteEngine, die für die Darstellung vonComputergrafik zuständig ist. Meist handelt es sich dabei um möglichst realitätsgetreue 3D-Computergrafik, wie Gegenstände, Umwelt und Personen (Stichwort:Virtuelle Realität). Im Zusammenhang mit 3D-Computergrafik bezeichnet man die Grafik-Engine daher dann auch als3D-Engine. Konkret handelt es sich dabei um einen integrierten oder extern gelagerten Programmcode, der parallel zum eigentlichen Spiel (sieheSpiel-Engine) für die Berechnung der Grafikschnittstelle zuständig ist.

Die Grafik-Engine wird häufig als Teil der Spiel-Engine verstanden, tatsächlich ist sie aber ausschließlich zur Berechnung der Anzeige zuständig, während der Begriff Game Engine die Basis des gesamten Spiels darstellt (Audio, Gameplay, Menüs usw.). Neben Spielen können auch andere Anwendungen, wieCAD- oderGeoanwendung und allgemeinVisualisierungs-Software eine Grafik-Engine ansteuern.

Sie wird oft mit derRender-Engine verwechselt, welche nur die in der 3D-Welt vorhandenen Daten auf der Anzeige ausgibt.

Inhaltsverzeichnis

Funktion

[Bearbeiten |Quelltext bearbeiten]

Die Grafik-Engine bietet einemProgrammierer eine große Palette von grafischen Funktionen und Effekten (geometrische Objektbeschreibung, Oberflächentexturen,Licht und Schatten (Shading),Transparenz,Spiegelungen usw.), so dass er für seine spezielle Anwendung diese nicht stets neu programmieren muss.

Insbesondere bei 3D-Computerspielen wieEgo-Shootern entscheidet die Qualität der Effekte ihrer jeweiligen Grafik-Engine maßgeblich über den kommerziellen Erfolg des Spiels, weswegen ihnen in diesem Bereich große Aufmerksamkeit zukommt.

Es gibt verschiedene Techniken, dreidimensionale Welten auf dem Computer darzustellen: Am häufigsten wird die 3D-Welt durchPolygone konstruiert, diese Flächen werden dann mit einer Art Tapete, derTextur überzogen. Hinzu kommen nochPartikeleffekte, die beispielsweise Nebel, Dreck, Feuer oder Wasser darstellen können. In fortgeschrittenen 3D-Engines werden die Texturen noch mit sogenanntenBumpmaps überzogen, die eine plastische Struktur verleihen.

Eine alternative Technik der visuellen Konstruktion von 3D-Welten ist dieVoxel-Technik. Hier wird, etwa vergleichbar mit derRastergrafik, Farbwert und Eigenschaft eines jeden Punktes der 3D-Welt in einem dreidimensionalen Datensatz gespeichert.

Die Endstufe des ganzen Visualisierungsprozesses ist die Render-Engine, die aus den Daten das eigentliche, am Bildschirm dargestellte Pixelbild erzeugt.

Geschichte

[Bearbeiten |Quelltext bearbeiten]
Dieser Abschnitt ist nicht hinreichend mitBelegen (beispielsweiseEinzelnachweisen) ausgestattet. Angaben ohne ausreichenden Beleg könnten demnächst entfernt werden. Bitte hilf Wikipedia, indem du die Angaben recherchierst undgute Belege einfügst.

Der Begriff wurde erst Mitte der 1980er Jahre gebräuchlich, alsLucasfilm Games ihre 3D fractal technology undEpyx ihre Freescape Engine zum ersten Mal in Spielen einsetzten. Die Freescape-Engine wurde auch von anderen Spieleherstellern verwendet.Anfang der 1990er Jahre fingId Software an, seine Grafik-Engines für 3D-Grafik zu entwickeln und in größerem Umfang anderen Spieleherstellern gegen Lizenzgebühr zur Verfügung zu stellen. Diese konnten damit neue 3D-Spiele schneller entwickeln. 3D-Grafik benötigt sehr aufwändige Optimierungen und Berechnungen, und die Programmierer bei Id Software waren zu dieser Zeit auf diesen Gebieten führend.

Für viele Computerspiele werden 3D-Engines anderer Herstellern lizenziert, weil sich der Aufwand für die Entwicklung einer eigenen zeitgemäßen 3D-Grafik oft nicht lohnt. Ein Spiel kann dadurch deutlich schneller fertiggestellt werden und hat in der Regel auch eine bessere Grafik, als es bei einer kompletten Eigenproduktion der Fall wäre.[1]

Engines im Bereich Film und Computerspiel

[Bearbeiten |Quelltext bearbeiten]
Dieser Abschnitt ist nicht hinreichend mitBelegen (beispielsweiseEinzelnachweisen) ausgestattet. Angaben ohne ausreichenden Beleg könnten demnächst entfernt werden. Bitte hilf Wikipedia, indem du die Angaben recherchierst undgute Belege einfügst.

Film

[Bearbeiten |Quelltext bearbeiten]

Grafik-Engines für das Rendern von realistisch anmutenden Bildern und Animationen sind sehr viel komplexer als die für Spiele. So kann das Rendern eines einzigen Bildes, je nach Rechenleistung, mitunter mehrere Stunden in Anspruch nehmen. Grafisch aufwändige Filmszenen müssen daher häufig von dutzenden Computern gleichzeitig berechnet werden.

Die gängigste Renderersoftware ist:

Mit Hilfe von Programmen wieHoudini,Maya,LightWave 3D,Cinema 4D,3ds Max,Blender undZBrush werden die Modelle (Personen, Effekte etc.) erstellt, die dann berechnet („gerendert“) werden, damit eine 3D-Grafik entsteht.

Ein Unterschied zu den Grafik-Engines von Spielen sind die physikalische Genauigkeit und viel aufwändigere Berechnungsverfahren wieFinal Gathering,globale Beleuchtung,Kaustik,Raytracing. Vollkommen physikalisch korrekt ist allerdings keine Engine. Das Ziel ist es, die Bilder nur so aussehen zu lassen, „als ob“.

Der Einsatz solch komplexer Software reicht von Produktvisualisierungen, Architektur, Effekten bis hin zu vollkommen digitalen Filmen wieFinal Fantasy VII: Advent Children,Findet Nemo oder die Effekte und Personen in Filmen wieStar Wars,Herr der Ringe undMatrix. Ohne die fortlaufende Entwicklung der Rendersoftware wären diese Filme nicht machbar gewesen.

Computerspiel

[Bearbeiten |Quelltext bearbeiten]

Die Grafik-Engines zur Berechnung vonComputerspielegrafik sind weit vielzähliger und entwickeln sich rasant.

Bei Computerspielen übernimmt die Grafikengine in der Regel auch die Physikberechnung. Ton und KI gehören jedoch nicht in das Aufgabenfeld der Grafik-Engine.

Aktuelle Engines sind z. B.id Tech 7 (Doom Eternal),Unreal Engine 5 (Lords of the Fallen,Senua’s Saga: Hellblade II),CryEngine V (Hunt: Showdown),Frostbite 3 (Battlefield 1,Star Wars: Battlefront),Source 2 (Counter-Strike 2,Dota 2) undUnity (Pokémon Go,Firewatch).

Eine große Schwierigkeit ist die begrenzte Rechenleistung. Bei der Herstellung eines Filmes darf das Erzeugen eines Einzelbildes mehrere Stunden oder länger dauern, während ein Einzelbild in einem Spiel im Bruchteil einer Sekunde berechnet sein muss. Die Spiel-Engines müssen also bestimmte Mindestanforderungen an die GPU und CPU stellen, um überhaupt zu funktionieren.

Unterschiede Film und Spiel

[Bearbeiten |Quelltext bearbeiten]

Der Unterschied zwischen Spiel und Film zeigt sich beispielsweise am FilmFinal Fantasy und dem gleichnamigen Spiel. Ein Bild (1 Sekunde ~24 Bilder) wird beim Film bis zu 90 Stunden lang berechnet, für das Spiel müssen hingegen 24 Bilder in einer Sekunde berechnet werden. Grafik-Engines für Computerspiele richten daher ihr Hauptaugenmerk auf die Rechengeschwindigkeit und müssen im Gegensatz zum Film auf Realitätstreue und Genauigkeit verzichten. Die Grafik-Engines sind meist auch heute noch hinsichtlich Anforderungen und Einsatzgebieten getrennt.

Der Trend zu weitergehenden Überlappungen zwischen Film und Spiel

[Bearbeiten |Quelltext bearbeiten]

Inzwischen gibt es den Trend, auch im Filmbereich immer mehr Echtzeit-Techniken zu benutzen, wie sie bisher nur in Spielen benutzt wurde. Grund hierfür ist nicht zuletzt, dass die Grafikkarten inzwischen so leistungsfähig sind, dass sie Berechnungen in Echtzeit ausführen können, die früher nur offline berechnet werden konnten.

Aus diesem Grund unterstützen heutzutage alle bekannten 3D-Modellierungsprogramme wieMaya,XSI und3ds Max neben dem klassischen Offline-Rendering auch Echtzeit-Rendering („Vorschau“-Funktion), bei denen man das Ergebnis sofort sieht. Der Arbeitsablauf von Computergrafikern wird damit deutlich verbessert, da sie das Ergebnis von Änderungen schnell sehen und beurteilen können, anstatt Stunden warten zu müssen. Auch Grafik-Chip-Hersteller wieNvidia investieren gezielt in diesen Bereich, etwa mit der Entwicklung und Marketing derShader-SpracheCg, welche in beiden Bereichen eingesetzt wird. Ähnliches gilt für die vonMicrosoft entwickelte Shader-SpracheHLSL. Rendering-Effekte, die in diesen Sprachen entwickelt werden, können damit – zumindest eingeschränkt, oder mit Nacharbeit – in beiden Bereichen genutzt werden. Zusammenfassend lässt sich sagen, dass sich die Techniken der Grafik-Engines für Computerspiele und Film immer weiter annähern.

Ein anderer Aspekt ist, dass die Arbeitsweisen, die zur Erstellung von Grafiken für Grafik-Engines benutzt werden, sichfür Computerspiele und Filme immer weiter annähern.

  • Früher gab es getrennte Programme zum Entwickeln von Computerspielen, etwa spezielle Level-Editoren. Inzwischen werden Programme wieMaya standardmäßig sowohl für Spiele als auch Filme benutzt. Die Grafik-Engines von Computer-Spielen und für Film arbeiten mit zunehmend ähnlichen Eingabedaten.
  • Die benutzten Modellierungstechniken ähneln sich immer mehr. Während früher für Computerspiele die Welten oft aus einzelnen Polygonen zusammengesetzt wurden, werden inzwischen wie im Film Techniken wieSubdivision Surfaces undTexturen eingesetzt. Auch hier liegt die Ursache darin, dass sich die Techniken der zugrundeliegenden Grafik-Engines angenähert haben.
  • Immer mehr Computergrafiker arbeiten in beiden Branchen. Beispielsweise hatid Software fürDoom 3 gezielt Grafiker aus der Film-Industrie angeheuert. Andersherum haben die Grafiker des ComputerspielesFinal Fantasy später die Computergrafik des gleichnamigen Kinofilms erstellt.

Meilensteine

[Bearbeiten |Quelltext bearbeiten]
Die Behauptung, bei den nachfolgenden Engines handele es sich um Meilensteine, ist nicht hinreichend mitBelegen (beispielsweiseEinzelnachweisen) ausgestattet. Angaben ohne ausreichenden Beleg könnten demnächst entfernt werden. Bitte hilf Wikipedia, indem du die Angaben recherchierst undgute Belege einfügst.

Aus der Vielzahl an Grafik-Engines (die oft keinen eigenen Namen haben und den Namen des Spieles tragen, für das sie entwickelt wurden) stechen einige besonders hervor, welche in der nachfolgenden Übersichtstabelle aufgelistet sind.

Chronologische Übersicht der wichtigsten Grafik-Engines
SpielnameEngineUnternehmenJahr
DrillerFreescape EngineIncentive Software1987
Wolfenstein 3DWolfenstein-3D-Engineid Software1992
Ultima Underworld: The Stygian AbyssUltima-Underworld-EngineBlue Sky Productions1992
DoomDoom-Engineid Software1993
System ShockSystem-Shock-EngineLooking Glass Studios1994
QuakeQuake-Engine (id Tech 1)id Software1996
Duke Nukem 3DBuild-Engine3D Realms1996
Quake IIQuake-Engine (id Tech 2)id Software1996
UnrealUnreal EngineEpic Games1998
Quake III ArenaQuake-III-Engine (id Tech 3)id Software1999
Unreal TournamentUnreal Engine 1.5Epic Games1999
HaloHalo EngineBungie Studios2001
Red FactionGeoMod EngineTHQ2001
The Elder Scrolls III: MorrowindGamebryoUbi Soft2002
Unreal Tournament 2003Unreal Engine 2Epic Games2002
Far CryCryEngine 1.0Crytek2004
Unreal Tournament 2004Unreal Engine 2.5Epic Games2004
Doom 3Doom-3-Engine (id Tech 4)id Software2004
Half-Life 2SourceValve2004
F.E.A.R.Jupiter-Ex-EngineMonolith Productions2005
The Elder Scrolls IV: OblivionGamebryo EngineBethesda Softworks2006
Company of HeroesEssence EngineRelic Entertainment2006
Gears of WarUnreal Engine 3Epic Games2006
CrysisCryEngine 2Crytek2007
Unreal Tournament 3Unreal Engine 3Epic Games2007
GTA IVRockstar Advanced Game EngineNatural Motion2008
Far Cry 2Dunia EngineUbisoft2008
Uncharted 2: Among ThievesNaughty Dogs Spielengine 2.0Naughty Dog2009
Rageid Tech 5id Software2011
Battlefield 3Frostbite 2 EngineDICE2011
Gears of War 3Unreal Engine 3.5Epic Games2011
Crysis 3CryEngine 3Crytek2013
Eve: ValkyrieUnreal Engine 4Epic Games2014

Populäre Grafik-Engines zumindest im Bereich derEgo-Shooter kamen in den letzten Jahren fast ausschließlich vonid Software,Epic Games undValve. Im Jahr 2004 schaffte außerdem das deutsche UnternehmenCrytek mit ihrerCryEngine 1.0, welche in Far Cry zum Einsatz kommt, den Durchbruch. Als weiteres deutsches Unternehmen schaffte esSpinor mit ihrerShark 3D Engine, dass das darauf basierendeAdventure-SpielDreamfall des norwegischen UnternehmensFuncom auf derE3 2004 mehrere Preise gewann.

Kommerzielle

[Bearbeiten |Quelltext bearbeiten]

Folgende 3D-Engines sind für den kommerziellen Gebrauch veröffentlicht:

Open-Source

[Bearbeiten |Quelltext bearbeiten]

Frei im Quellcode verfügbar sind folgende Engines:

Schnittstellen

[Bearbeiten |Quelltext bearbeiten]

Die verwendete Grafik-Engine hat großen Einfluss auf das Aussehen eines Computerspiels. Sie bestimmt z. B. wie vielePolygone dargestellt werden können oder obDirectX,OpenGL oder eine andere Grafikschnittstelle benutzt wird.

Wichtig ist auch die verwendete DirectX Version. Erst ab DirectX 8 werdenPixel- undVertex-Shader unterstützt, die u. a. für realistische Wasseroberflächen, Schatten undCharakteranimationen benötigt werden.

Die Grafik-Engine ist meist ein fester Bestandteil derSpiel-Engine und kann nicht einfach ausgetauscht werden. Manche Spiele fürWindows besitzen sowohl eine DirectX- als auch eine OpenGL-Schnittstelle. UnterLinux ist dagegen ausschließlich OpenGL undVulkan verfügbar. (DirectX ist unter Linux mit den LaufzeitumgebungenWine bzw.Cedega verfügbar, jedoch funktionieren nicht alle Windows-Spiele mit Wine.) Das Betriebssystem fürMacs,macOS, setzte ebenfalls ausschließlich auf OpenGL, bis Apple 2015 die eigene GrafikschnittstelleMetal inOS X El Capitan (Version 10.11) einführte. SeitmacOS Catalina (Version 10.14, 2018) ist Metal 2 die primäre Grafik-Engine und ersetzt damit OpenGL vollständig, das in macOS zwar bestehen bleibt, aber nicht mehr weiterentwickelt wird.

Die OpenGL-Standardisierung hinkt zwar meist weit hinterher, aber mittels direkter Schnittstellen zu denGrafiktreibern sind neue Merkmale auch in alten Versionen verfügbar, in der Regel noch vor DirectX.

Einzelnachweise

[Bearbeiten |Quelltext bearbeiten]
  1. Ralph Wollner: Die Entwicklung der Grafik-Engines: Von den Anfängen bis zur 3D-Grafik. In: PC Games. 13. Mai 2010, abgerufen am 8. Januar 2023. 
  2. Travis Fahs: Exploring the Freescape. In: IGN. 14. Juni 2012, abgerufen am 8. Januar 2023 (englisch). 
Abgerufen von „https://de.wikipedia.org/w/index.php?title=Grafik-Engine&oldid=241860239
Kategorien:
Versteckte Kategorien: