IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenSceneGraph Discussion :

Open scene graph: probleme avec le viewer


Sujet :

OpenSceneGraph

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Open scene graph: probleme avec le viewer
    Bonjour,

    Je travaille actuellement sur un projet de réalité virtuelle pour la recherche médicale. Je dois donc créer un viewer, insèrer mon fichier et travaille avec ce fichier.

    Le problème est qu'avant je n'ai fais que du java, j'ai donc du me mettre au C++ et OSG. J'ai commence le mini programme pour créer le viewer, qui marche, mais il ne m'affiche pas le fichier que j'essaie d'importer.

    Si quelqu'un pouvait m'aider ce serait gentil,

    Merci

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    #include <iostream>
    #include <osg/Group>
    #include <osg/Node>
    #include <osgDB/ReadFile>
    #include <osgViewer/Viewer>
     
     
    int main (int argc,char*argv[])
    {
    	// création du viewer
    	osgViewer::Viewer viewer;
    	viewer.setUpViewInWindow(50, 50, 512, 512);
     
    	//importer fichier
    	osg::Node*node = new osg::Node;
    	node = osgDB::readNodeFile("C:\Users\Joffrey\Desktop\project\renti.ive");
    	//création de la scène (importation du fichier)
    	viewer.setSceneData(node);
     
    	// lancement du viewer
    	return viewer.run();
    }

  2. #2
    Membre éprouvé
    Avatar de Ange_blond
    Homme Profil pro
    Ingénieur développement en 3D temps réel
    Inscrit en
    Mars 2007
    Messages
    902
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement en 3D temps réel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 902
    Points : 1 179
    Points
    1 179
    Par défaut
    Bonjour,

    Avant toute chose il pourrait etre pratique de savoir exactement ce qui ne va pas... un morceau de code ne livre pas toujours ses secrets au 1er coup d'oeil...


    Citation Envoyé par joffrey.dupuy Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    #include <iostream>
    #include <osg/Group>
    #include <osg/Node>
    #include <osgDB/ReadFile>
    #include <osgViewer/Viewer>
     
     
    int main (int argc,char*argv[])
    {
    	// création du viewer
    	osgViewer::Viewer viewer;
    	viewer.setUpViewInWindow(50, 50, 512, 512);
     
    	//importer fichier
    	osg::Node*node = new osg::Node;
    	node = osgDB::readNodeFile("C:\Users\Joffrey\Desktop\project\renti.ive");
    	//création de la scène (importation du fichier)
    	viewer.setSceneData(node);
     
    	// lancement du viewer
    	return viewer.run();
    }
    Bon alors deux fautes déjà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    osg::Node*node = new osg::Node;
    N'est pas utile. tu apelle un constructeur mais dans la ligne suivante tu affecte a nouveau ta variable.... contente toi donc juste de la déclaration (et initialisation a NULL si tu y tiens)

    Ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    node = osgDB::readNodeFile("C:\Users\Joffrey\Desktop\project\renti.ive");
    Le compilateur a du pleurer là...
    les carateres \ sous windows sont a utiliser en connaissance de cause, car il "protegent" le caratere suivant.
    \t est une tabulation, \r un retour a la ligne, .... et \\ est un simple \.
    Donc tu dois utiliser une des possibilités suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    node = osgDB::readNodeFile("C:\\Users\\Joffrey\\Desktop\\project\\renti.ive");
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    node = osgDB::readNodeFile("C:/Users/Joffrey/Desktop/project/renti.ive");
    Voilà avec ça tu devrais avoir une base meilleure déjà.
    "le langage C permet de tout faire, y compris se tirer dans le pied. Le langage C++ permet de tout faire, y compris se tirer dans le pied - et réutiliser la balle"

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Problème affichage transparence
    Bonjour,

    Tout d'abord merci ange blond pour votre réponse. Je ne suis pas venu sur le forum depuis un moment car j'étais sur autre chose.

    Je suis revenu sur mon petit problème de programmation. J'ai réussi à créer le viewer, insérer le fichier, et j'ai même réussi à utiliser un modeLINE. Mais il se trouve que ce mode LINE s'effectue sur toute mon image, parce qu'il s'applique au node en question.

    Ma question est la suivante: comment fait-on pour diviser ce node en plusieurs petits qui me permettront de travailler sur un node précis?

    Je sais pas si je me suis bien fais comprendre? désolé.

    En fait je travaille sur un corps humain avec des organes à l'intérieur, j'aimerais passer une partie du corps en modeLINE ou transparent même tout en laissant les organes intactes, le pb actuel est que tout les organes passe en modeLINE également.

    Voici mon code qui fonctionnent mais qui met tout en mode LINE avez vous une idée de ce que je pourrais faire?
    Merci

    Voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
     
    #include <osgViewer/Viewer> 
    #include <osgDB/ReadFile>
    #include <osg/MatrixTransform>
    #include <osg/polygonMode> 
    int main( int argc, char **argv )
    {
     
    	// Insert the files into the viewer
    	osg::ref_ptr<osg::Node> model = osgDB::readNodeFile("renti.ive");
     
    	// creation of the MatrixTransform nodes
    	osg::ref_ptr<osg::MatrixTransform> transformation = new osg::MatrixTransform;
    	transformation->setMatrix(osg::Matrix::translate(-25.0f,0.0f,0.0f));
    	transformation->addChild( model.get());
     
    	// Creation of the modeLINE 
    	osg::ref_ptr<osg::PolygonMode> pm = new osg::PolygonMode;
    	pm->setMode(osg::PolygonMode::FRONT_AND_BACK,osg::PolygonMode::LINE );
    	transformation->getOrCreateStateSet()->setAttribute( pm.get());
     
    	// Add the node to a root node
    	osg::ref_ptr<osg::Group> root = new osg::Group;
    	root->addChild( transformation.get());
     
    	// creation of the viewer
    	osgViewer::Viewer viewer;
    	viewer.setSceneData(root.get());
    	return viewer.run();
    }
    Merci pour votre aide.

Discussions similaires

  1. open scene graph
    Par malek363 dans le forum OpenSceneGraph
    Réponses: 0
    Dernier message: 03/02/2013, 19h34
  2. Probleme avec BIRT Viewer
    Par truffrose dans le forum BIRT
    Réponses: 19
    Dernier message: 12/04/2012, 08h34
  3. Open Scene Graph release 3.0
    Par Ange_blond dans le forum OpenSceneGraph
    Réponses: 0
    Dernier message: 28/06/2011, 16h51
  4. probleme avec window.open
    Par graphicsxp dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 17/05/2006, 18h50
  5. window.open : probleme avec IE
    Par WeDgEMasTeR dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/05/2006, 21h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo