Crystal Space
Crystal Space est un kit de développement orienté 3D utilisable aussi bien pour créer des jeux que des applications de visualisation, voire même des application en mode texte.
Sommaire |
[modifier] Description
Voici quelques aspects de Crystal Space (CS):
- libre: License LGPL. Vous pouvez aussi l'utiliser pour des projets dont le code source est fermé.
- multi-plateforme: GNU/Linux, MacOS/X, *BSD, Windows (GCC, MinGW/MSYS, MSVC 7/7.1/8). Une application basée sur CS pourra être recompilée sur une autre plate-forme supportée sans modification du code source (à la condition de ne pas y introduire du code spécifique).
- modulaire: la quasi totalité des fonctionalités sont optionelles et accessibles au travers de greffons (plugins). Oui! même la partie Moteur 3D est un greffon.
- adaptation: vous pouvez utiliser le renderer accéléré OpenGL ou logiciel (il y a également un greffon ASCII Art, pour le fun ;-). CS s'adapte également aux capacité de la carte graphique pour la gestion des shaders (techniques).
- abstraction: les différents objets sont gèrés au travers d'interfaces, préfixées par la lettre i; par exemple iCamera, iMeshWrapper, etc. Vous n'avez pas non plus à vous préoccuper d'OpenGL, une application Crystal Space ne l'utilise jamais directement.
On notera aussi la présence de greffons basés sur:
- OSS et ALSA pour le support du son
- CeGUI: pour la création d'interface graphiques
- ODE: Moteur physique
- Bullet: Moteur physique
Principalement utilisé en C++, il y a également des bindings pour Python, Perl et Java, basés sur SWIG.
L'extension CEL (Crystal Entity Layer) est aussi très appréciable, et comprend un greffon pour le support réseau, basé sur la bibliothèque HawkNL.
[modifier] Création de maps
Les maps sont stockées au format XML, généralement en mode texte. Il est possible de créer des maps avec ou 3d studio max.
- Blender: Blender2crystal (un plugin python) permet d'exporter et tester ses maps directement depuis Blender
- 3d studio max: un max script est founi avec CS (dans CS/scripts/max/). Un plugin utilisant le SDK de 3DS Max est en cours de développement.
L'application walktest de CS permet de tester simplement ses propres maps (pensez au paramètre -relight pour recalculer l'éclairage).
En tant qu'artiste, vous souhaiterez probablement vous éviter les fastidieuses étapes de compilation de CS et éventuellement CEL, aussi jetez un coup d'oeil aux Binary artist packages de la page des téléchargements.
[modifier] Création de modèles
Plusieurs formats sont supportés:
- Cal3D: animation par squelette; utilisez le script d'export adapté à votre logiciel de modelage (Blender, 3d studio max)
- Spr3D: format spécifique à CS, animation frame-based; utilisez le plugin d'export adapté à votre logiciel de modelage (blender2crystal, 3DS MAX script)
- Skeleton: format spécifique à CS, animation par squelette; en cours de développement.
L'application viewmesh de CS permet de visualiser directement vos modèles une fois exportés.
[modifier] Création d'une application
Un script shell (*NIX, MinGW/MSYS) permet de créer très simplement un squelette d'application, y compris les fichiers construction du projet: CS/scripts/jamtemplate/createproject.sh. Ce projet utilisera Jam au lieu de make. Vous disposerez de Jam une fois que vous aurez compilé CS, ou après l'avoir récupèré sur le site d'origine.
[modifier] Projets utilisant Crystal Space
- Crystal Core (FPS, démo technique)
- PlaneShift (MMORPG)
- Page des projets utilisant CS
[modifier] Ressources externes
- Site officiel
- Manuel utilisateur (version CVS)
- Manuel de l'API (version CVS)
- Crystal Entity Layer
- Site de la communauté CS (articles, forums)


