Vergleich der Direct-X-10-Engines (Teil 2): CryEngine 2
Das Thema Direct X 10 wird schon seit einiger Zeit heiß diskutiert. Die Entscheidung von Microsoft, die Version seiner Multimedia-Schnittstelle nur in WindowsVista zu integrieren, hat für einigen Unmut gesorgt. Viele Anwender fühlen sich gegängelt, ein neues Betriebssystem kaufen zu müssen, um bei der Spieletechnik auf dem neuesten Stand zu sein.
Um die Diskussion wieder etwas zu versachlichen, haben wir uns drei herausragende Engines herausgesucht, die bekanntermaßen auch Direct-X-10-Bibliotheken benutzen. Das wäre zum einen die Unreal Engine 3 (und hier Unreal Tournament 3 als beispielhaftes Spiel), die CryEngine 2 (stellvertretend für kommende Spiele beziehen wir uns hier auf Crysis) und die Engine von Hellgate: London.
Teil 2 der Reihe dreht sich um die CryEngine 2, die als Basis für das heiß erwartete Crysis dient. Wir stellen wichtige Fakten vor und würzen diese mit Interviewaussagen von Bernd Diemer, Game Designer bei Crytek, den wir exklusiv zum Thema befragen konnten.
CryEngine 2: Die Besonderheiten
Die CryEngine ist eine Multiplattform-Engine, die auf PC-Seite Direct X 9 und Direct X 10 unterstützt.
Wichtige Render-Features in der Übersicht:
- Multi-Plattform (PS3 in Entwicklung)
- Multi-Threaded Renderer (z. B. Physik, Netzwerk, Sound)
- Unterstützt 64-Bit-Betriebssysteme (vor allem Vorteile für Level-Editoren)
- (bestätigte) Leistungsvorteile durch SLI (Crossfire vermutlich auch)
- Spezial-Effekte (Auswahl): Bewegungsunschärfe (objekt- oder szenenbasiert), Tiefenunschärfe, Blooming
- Terrain Ambient Occlusion Maps: Es wird pro Pixel bestimmt, wieviel (Intensität) und welches (Farbe) Licht ein Objekt - ob statisch (Gebäude) oder dynamisch (Charakter) erreicht. In die Berechnung wird einbezogen, wie sich umliegende Objekte auf dieses Licht verhalten (eine orangefarbene Wand gibt einem daneben stehenden weißen Fass einen Orange-Stich; Blätter lassen nur gedämpftes Licht durch, vorzugsweise mit Grüntönung).
- Normal Maps and Parallax Occlusion Maps: Eine Normalen-Textur von einem hochdetaillierten Modell wird komprimiert gespeichert und verändert je nach Lichteinfall den Oberflächenvektor der Textur: ein räumlicher Eindruck entsteht. Parallax (Occlusion) Mapping geht einen Schritt weiter, das nachgebildete Geometrie-Detail kann sich gegenseitig verdecken: Kopfsteinpflaster in sehr flachem Blickwinkel -> Flache Textur - Flache verzerrte Textur (Normal-Mapping) - räumliche Textur, in der sich die einzelnen Steine gegenseitig verdecken können (Parallax Occlusion Mapping)
- Subsurface Scattering: Lichtstreuung und -brechung unterhalb der Oberfläche. Nicht-Opake Oberflächen reflektieren eingedrungenes Licht auf andere Weise unter als an der Oberfläche und durch den "Scatter" (Zer)streuung)) Anteil tritt das reflektierte Licht auch woanders aus, als es eingetreten ist. Kann für Haut, Eis, Diamanten usw. genutzt werden.
- Physik: Eigene Physik-Engine (Multithreaded). Kann z. B. Wind, Explosionen, Schwerkraft und Kollisionen simulieren. Biegsame Objekte wie Bäume reagieren auf Wind, Regen oder Charakterbewegung. Objekte wie Bäume, Häuser oder andere Objekte in Umgebungen lassen sich zerstören, und die entstehenden Teile sind ebenfalls benutzbar.
- Eye Adaptation/HDR Lighting: Eine Irissimulation bildet den Effekt nach, wenn sich das Auge an besonders helle oder dunkle Bereiche gewöhnen muss. HDR-Rendering erlaubt einen hohen Kontrastumfang.
- Editor: Sandbox2
