Grafik-Engine
Eine Grafik-Engine (deutsch wörtlich "Grafikmotor", freier etwa: Grafikkern oder Grafikmodul) ist ein Modul eines Computerprogramms, welches für die Aufbereitung aufwendiger Computergrafik zuständig ist, meist möglichst realitätsgetreuer 3D-Computergrafik, wie Gegenstände, Umwelt und Personen (Stichwort: Virtuelle Realität). Sie bietet einem Programmierer eine große Palette von grafischen Funktionen und Effekten (geometrische Objektbeschreibung, Oberflächentexturen, Licht und Schatten, Transparenz, Spiegelungen usw.), so dass er für seine spezielle Anwendung diese nicht stets neuprogrammieren muss. Insbesondere bei 3D-Computerspielen wie Egoshootern entscheidet die Qualität der Effekte ihrer jeweiligen Grafikengine maßgeblich über den kommerziellen Erfolg des Spiels, weswegen ihnen in diesem Bereich große Aufmerksamkeit zukommt. Die Grafik-Engine ist eine Untermenge der Game Engine, beide Begriffe werden aber häufig synonym verwendet. Allerdings können auch Applikationen, die keine Computerspiele sind (wie Visualisation von Bauwerken und Maschinen etc.) eine Grafik-Engine besitzen.
Table of contents |
2 Meilensteine der 3D-Grafik-Engines 3 Schnittstellen für Grafik-Engines 4 Aufgaben der Grafik-Engine 5 siehe auch |
Grafikengines haben sich seit Beginn der 1990er rasant entwickelt. Hauptursache ist das enorme Wachstum der Rechenleistung der CPUs von Personal Computer, die sich zwischen 1990 und 2004 mehr als verhundertfacht hat. Zusätzlich haben 3D-Beschleunigerkarten, die die CPU entlasteten, und damit dieser mehr Zeit für die Berechnung von der Künstlichen Intelligenz ließen, für eine enorme Geschwindigkeits- (siehe Frames per Second) und Qualitätssteigerung gesorgt.
Die erste Karte dieser Art war die Voodoo von 3dfx. Sie und die Voodoo 2 wurden als separate PCI-Karte gebaut, die mit einem Loop-through-Kabel zwischen Bildschirm und Grafikkarte geschleift wurden. Später wurden nur noch Grafikkarten mit integrierter Beschleunigung gebaut. Eine weitere Beschleunigung brachte die Einführung des AGP-Slots statt PCI. In naher Zukunft werden PCI-Express Karten, wahrscheinlich den aktuellen AGP 8x Standard ablösen .
Da die Beschleunigerkarten viele Funktionen über DirectX und OpenGL zur Verfügung stellen, ist steigt nicht nur die Berechnungsgeschwindigkeit; für Programmierer sinkt auch der Aufwand der Spiele-Entwicklung, da sie nicht jede Routine selbst implementieren müssen.
Aus der Vielzahl an Grafik-Engines (die oft keinen eigenen Namen haben und deshalb den Names des Spieles tragen, für das sie entwickelt wurden) stechen einige besonders hervor. In chronologischer Reihenfolge sind das:
Die verwendete Grafik-Engine hat großen Einfluss auf das Aussehen eines Computerspiels. Sie bestimmt z.B. wie viele Polygone dargestellt werden können oder ob DirectX, OpenGL oder eine andere Grafikschnittstelle benutzt wird.
Wichtig ist auch die verwendete DirectX Version. Erst ab DirectX 8 werden Pixel- und Vertex-Shader unterstützt, die u.a. für realistische Wasseroberflächen, Schatten und Charakteranimation benötigt werden.
Die Grafik-Engine ist meist ein fester Bestandteil der Game-Engine und kann nicht einfach ausgetauscht werden. Manche Spiele für Windows besitzen sowohl eine DirectX- als auch eine OpenGL-Schnittstelle. Unter Linux und MacOS ist dagegen ausschließlich OpenGL verfügbar. (DirectX ist unter Linux mit dem Emulator Wine, bzw. WineX verfügbar, jedoch arbeiten nicht alle Windows-Spiele mit Wine. Details: Holarse.de
Die OpenGL-Standardisierung hinkt zwar meist weit hinterher, aber mittels direkter Schnittstellen zu den Grafiktreibern sind neue Merkmale auch in alten Versionen verfügbar, in der Regel noch vor DirectX.
Entwicklung der 3D-Grafik
Meilensteine der 3D-Grafik-Engines
Populäre Engines werden von anderen Spiele-Firmen lizenziert, um auf ein eigenes Spiel aufzubauen. Dies hat mehrere Vorteile: Zum einen entfällt die Zeit und das Geld, dass in die Entwicklung einer neuen Engine investiert werden müsste und zum anderen bietet man den Spielern eine vertraute Optik, was nicht zuletzt die Verkaufszahlen ankurbeln soll. Populäre Grafik-Engines zumindest im Bereich der Ego-Shooter kamen in den letzten Jahren fast ausschließlich von Id Software, Epic Games und Valve.Schnittstellen für Grafik-Engines
Aufgaben der Grafik-Engine
(...)siehe auch