Privacy Policy Cookie Policy Terms and Conditions Crystal Space - Wikipedia

Crystal Space

aus Wikipedia, der freien Enzyklopädie

Crystal Space ist ein freies (LGPL) und portables 3D Game Development Kit, 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.

Inhaltsverzeichnis

[Bearbeiten] Features

[Bearbeiten] 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 3D 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, der GNU-Copyleft-Lizenz für Bibliotheken.

[Bearbeiten] 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.

[Bearbeiten] Engine-Features

  • Dynamisch schattierte, mehrschichtige Halbkugeln (SkyDome) für einen sehr realistischen Himmel. Die Bewegung der Sonne lässt sich in Echtzeit bewegen, 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:

Importieren von

    • 3DS von 3ds Max
    • MDL
    • MD2
    • OBJ
    • POV
    • ASE

Die importierten 3D-Objekte können abhängig von der Entfernung in unterschiedlicher Auflösung dargestellt werden (LOD).

[Bearbeiten] 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).

[Bearbeiten] Unterstützte Dateiformate

Crystal Space kann folgende 3d Objekte direkt laden:

  • 3DS
  • MDL
  • MD2
  • ASE
  • 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.

[Bearbeiten] 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 Modelierungs- 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.

[Bearbeiten] Zukunftspläne

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

[Bearbeiten] Autoren und Credits

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

[Bearbeiten] Weblinks

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -