Crystalspace

Crystalspace

Crystal Space ist ein freies (LGPL) und portables 3D Game Development Kit und Game Engine, geschrieben in der Programmiersprache C++. Das Framework ist nicht nur für die Spieleentwicklung geeignet, sondern lässt sich für generelle 3D-Visualierungen verwenden.

Crystal Space unterstützt zur Zeit GNU/Linux, Unix, Windows und Mac OS X. Optional kann es OpenGL (alle Plattformen), SDL (alle SDL Plattformen), X11 (Unix oder GNU/Linux) und SVGALIB (GNU/Linux) verwenden. Es kann auch als Assembler-Framework mit NASM und MMX verwendet werden.

Crystal Space ist ein Open Source-Projekt mit ungefähr 700 Beteiligten. Initiiert wurde das Projekt von Jorrit Tyberghein im Jahr 1997. Nach 10 Jahren Entwicklungszeit wurde am 15. Januar 2007 die Version 1.0 freigegeben.

Inhaltsverzeichnis

Features

Dieser Artikel oder Abschnitt besteht hauptsächlich aus Listen, an deren Stelle besser Fließtext stehen sollte.

Allgemeine Architektur

  • Engine mit sechs Freiheitsgraden mit beliebig geformten Polygonen (arbitrary sloped convex polygons).
  • Flexibles Plugin-System, das es Modulen erlaubt, andere Skriptsprachen einzufügen. Python, Perl und Java werden bereits unterstützt. Ebenso existieren Plugins für Schriftarten, Musik, Physikberechnungen sowie das Aufzeichnen und Abspielen von Filmen.
  • Crystal Space verwendet SCF (Shared Class Facility) für die Kommunikation zwischen verschiedenen Layern (zum Beispiel zwischen der Grafik-Engine und dem 3D Rasterizer). Dadurch lässt sich ein Plug-and-Play-Konzept umsetzen.
  • Unterstützung von 15/16-bit und 24/32-bit TrueColor-Anzeige und verschiedenen Auflösungen (640×480, 800×600, …).
  • Crystal Space lässt sich gut über die Kommandozeile und durch Konfigurationsdateien konfigurieren.
  • Der C++-Quellcode und Assemblercode ist verfügbar. Crystal Space steht unter der LGPL, einer GNU-Copyleft-Lizenz mit weniger restriktiven Ansatz als die GPL

Texturen und Texture-Mapping

  • Texturen können jede Größe besitzen, die 2x entsprechen. Sie müssen nicht quadratisch sein.
  • Crystal Space unterstützt Texturen mit folgenden Formaten:
  • Es ist möglich, eine Textur auf verschiedene Arten auf ein Polygon aufzuzeichnen (gedreht, skaliert, gespiegelt, …).
  • Transparente und semi-transparente Texturen erlauben durchsichtige Wasseroberflächen und Fenster.
  • Unterstützt dynamische Texturen, die wie einfache Texturen behandelt werden können
  • Der neue Renderer unterstützt fortschrittliche Shader, um Effekte zu erzeugen. Shader können CG benutzen, vertex-Programme, Fragment-Programme und andere.

Engine-Features

  • Dynamisch schattierte, mehrschichtige Halbkugeln (SkyDome) für einen sehr realistischen Himmel. Die Bewegung der Sonne kann in Echtzeit erfolgen, um Farbänderung hervorzurufen.
  • Landschaftsgenerator mit Unterstützung von:
  • Luftperspektive, Nebel
  • Texturerzeugung
  • LOD (Level of Detail)
  • Blanke, reflektierende Oberflächen
  • Vorberechnete statische Beleuchtung (Light-Mapping) mit echtem Schatten
  • Statischer LOD
  • Dynamisch gefärbte Lichter mit weichem Schatten
  • Geometrisch korrekter Schatten (Stencil-Shadow)
  • Animation durch Keyframes
  • Skelett-Animation (Bones) mit Cal3D.
  • Partikelsystem

Dateikonverter für:

Portabilität

Crystal Space wurde portiert für:

Optionale OpenGL-Hardware-Beschleunigung unter Windows, GNU/Linux und Macintosh OS/X sowie Linux (Mesa)

  • Unterstützung von Prozessorerweiterungen (z. B.MMX).

Unterstützte Dateiformate

Crystal Space kann folgende 3D-Objekte direkt laden und abhängig von der Entfernung in unterschiedlicher Auflösung darstellen (LOD):

  • 3DS von 3ds Max
  • ASE
  • MDL
  • MD2
  • OBJ
  • POV.
  • Die zu erschaffende Welt lässt sich durch XML-Dateien beschreiben.
  • Levels, bestehend aus Welten und Bereichen, können als gezipptes Paket vorliegen.
  • Es ist möglich, Bibliotheken von Objekten, Texturen und andere Dingen, die ein Spiel braucht, in separaten ZIP-Dateien abzulegen.
  • Ein Konvertierer um MAP-Dateien (von Quake/Half-Life) nach Crystal Space zu konvertieren, ist enthalten. Levels, die mit QuarK/Worldcraft gestaltet wurden, lassen sich ebenfalls konvertieren.
  • Konventierer für:
    • Maya (Modelle und Levels)
    • Milkshape (Modelle und Levels)
    • 3DS (Modelle und Levels)
  • Etliche Blender-Skripte (Python) sind dabei, um aus Blender die Modelle und Levels zu exportieren.

Verschiedene andere Features

  • Das Font-System-Plugin unterstützt folgende Fonttypen:
  • Bewegte Objekte
  • Reihenfolgenmanager mit Auslösern erlaubt die Definition von Objektinteraktionen im Level selbst.
  • Kollisionserkennung, hierarchische Sichtbarkeitsprüfung.
  • Eine mächtige Physik-Bibliothek ist bereits integriert. Sie ist eine dynamische Modellierungs- und Simulations-Engine.
  • 3D-Sound folgender Standards:

Für In-Game-Menüs ist bereits ein Fenstersystem enthalten. Eine Unterstützung für eine Eingaben- und Ausgabenkonsole, wie sie zum Beispiel in Quake benutzt wird, existiert auch.

Zukunftspläne

Es ist ein allgemeiner LOD (Level Of Detail) Manager geplant.

Autoren und Credits

Jorrit Tyberghein ist der Gründer und Hauptautor von Crystal Space.

Literatur

  • Oliver Grau: Antriebsmotoren: Spiele aufbauen mit Open-Source-Engines. In. iX 09/2006, Seite 52

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем написать реферат

Schlagen Sie auch in anderen Wörterbüchern nach:

  • CELstart — Infobox Software name = celstart caption = developer = Open Source latest release version = latest release date = latest preview version = latest preview date = operating system = platform = Cross platform genre = 3D engine license = website =… …   Wikipedia

  • Blender (software) — Infobox Software name = Blender caption = Blender 2.47 developer = The Blender Foundation latest release version = 2.47 latest release date = release date and age|2008|08|23 latest preview version = 2.48 RC1 latest preview date = release date and …   Wikipedia

  • Irrlicht Engine — Infobox Software name = Irrlicht 3D Engine caption = Parallax mapping rendered by Irrlicht. developer = Nikolaus Gebhardt et al. latest release version = 1.4.2 latest release date = September 22, 2008 latest preview version = 1.5 operating system …   Wikipedia

  • OpenSceneGraph — Stable release 3.0.1 / July 31, 2011; 2 months ago (2011 07 31) Preview release 2.9.16 / June 9, 2011; 4 months ago …   Wikipedia

  • 3D-Engine — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Eine Grafik Engine (wörtlich „Grafik Maschine“, freier etwa:… …   Deutsch Wikipedia

  • 3DEngine — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Eine Grafik Engine (wörtlich „Grafik Maschine“, freier etwa:… …   Deutsch Wikipedia

  • Grafik-Engine — Eine Grafik Engine (wörtlich „Grafik Maschine“, freier etwa: „Grafiktriebwerk“ oder „Grafikmodul“) ist ein mitunter eigenständiger Teil eines Computerprogramms oder einer Computer Hardware, welcher für dessen Darstellung von Computergrafik… …   Deutsch Wikipedia

  • Grafikengine — Dieser Artikel oder Abschnitt bedarf einer Überarbeitung. Näheres ist auf der Diskussionsseite angegeben. Hilf mit, ihn zu verbessern, und entferne anschließend diese Markierung. Eine Grafik Engine (wörtlich „Grafik Maschine“, freier etwa:… …   Deutsch Wikipedia

  • OpenSceneGraph — Desarrollador Don Burns y Robert Osfield [1] Información general …   Wikipedia Español

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”