OpenSceneGraph (ou OSG pour les intimes) est une librairie graphique extraordinaire il s'agit à ma connaissance du scene graph open source le plus populaire et abouti ! Utilisé dans de nombreux autres projets commerciaux ou libre (comme par exemple le gaming & simulation engine : delta 3d) c'est vraiment un outil très puissant que j'étudie depuis un certain temps.
L'installation et la compilation de la librairie sous linux est relativement simple à partir du code source (très beau travail avec cmake), il faut installer au préalable quelques dépendances . Le cas échéant il y a aussi des paquets binaires tout prêts (typiquement pour les OS Microsoft).
Côté documentation, il y a un excellent "Quick Start Guide" de Paul Martz qui est disponible gratuitement sous une forme électronique mais bon comme souvent dans le monde OpenSource il ne faut pas hésiter à regarder le code source des nombreux exemples. Je propose ci après ce qui est probablement le plus basique des exemples histoire de vous mettre le pied à l'étrier :
/*******************************************************
** cgilosg01_drawmeacow.cpp
** the most basic and simplistic as possible example
** of using openscenegraph to draw a beautiful cow
********************************************************/
#include <iostream>
#include <osgDB/ReadFile>
#include <osgViewer/Viewer>
#include <osgViewer/ViewerEventHandlers>
#define MY_MODEL "cow.osg"
int main (int argc, char** argv)
{
osgViewer::Viewer viewer;
// Let's load a very nice model
osg::ref_ptr<osg::Node> loadedModel = osgDB::readNodeFile(MY_MODEL);
if (!loadedModel) {
std::cerr << "Problem opening the model " << MY_MODEL << "\n";
exit (1);
}
viewer.setSceneData(loadedModel.get());
viewer.realize();
return viewer.run();
}
Pour compiler cet exemple sous Linux il suffit d'utiliser g++ comme suit :g++ -losgDB -losgViewer cgilosg01_drawmeacow.cpp -o cgilosg01_drawmeacow
il vous faut ajouter dans votre répertoire courant le fichier cow.osg qui se trouve dans le fichier de données exemples OpenSceneGraph-Data-2.8.0.zip ou mieux il suffit de fixer une variable d'environnement OSG_FILE_PATH pour la faire pointer sur l'endroit ou vous avez décompressé le fichier ci-dessusexport OSG_FILE_PATH='/usr/local/share/osg/OpenSceneGraph-Data/'
bonne découverte !
OpenGL
Wednesday, April 15, 2009
Subscribe to:
Post Comments (Atom)

No comments:
Post a Comment