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 :

[PAT] Absolute / Relative


Sujet :

OpenSceneGraph

  1. #1
    Membre éclairé Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Points : 717
    Points
    717
    Par défaut [PAT] Absolute / Relative
    Bonjour à tous,

    Je viens recemment de reprdrendre OSG après quelques années en stand-by et j'ai un soucis dans l'affichage de mes modèles.

    Dans un modèle simple j'ai une partie "mobile" utilisant un PAT qui ressemble à ceci :
    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
    Group {
            UniqueID Group_3
            DataVariance DYNAMIC
            name "A1"
            nodeMask 0xffffffff
            cullingActive TRUE
            num_children 4
            PositionAttitudeTransform {
              nodeMask 0xffffffff
              cullingActive TRUE
              referenceFrame RELATIVE          position -0.705903 2.44991 0.278621
              attitude 0 0 0 1
              scale 1 1 1
              pivotPoint 0 0 0
              num_children 1
              .......
    Avec une reference frame bien spécifié en relative..Mais quand je charge mon modèle dans ma scène, OSG semble forcé mon PAT avec une référence ABOLUTE...

    Le PAT de ma scène étant défini ABSOLUTE, ma question c'est de savoir si il existe une méthode ou une subtilité d'OSG qui peut provoquer que les PAT d'un noeud enfant passe à ABSOLUTE ??

    Merci d'avance pour votre aide,
    A+.
    For crying out loud !

  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,

    Pas sur de tout comprendre mais si je résume : ton PAT que tu charge dans ton modele est en Relative (comme tous les PAT par défaut).
    Ta scene est basée sur un PAT en ABSOLUTE, et donc quand tu y accroche ton PAT chargé, ton PAT chargé devient ABSOLUTE.


    Alors dejà loin de moi l'idée de formuler une critique mais je ne vois pas l'interet des PAT en Absolute. La structure du graph de scene permet d'éviter d'avoir a jouer avec ça, en tout cas personellement depuis 3 ans je n'en ai jamais utilisé.

    Et sinon pour répondre a ta question, a ma connaissance il n'y a pas de truc qui modifie le referenceFrame d'un PAT au chargement, d'autant qu'a ce moment là (au chargement) le PAT chargé ne sait pas a qui il va etre attaché, donc ça semble pas possible de le transformer en conséquence.

    Es tu sur de ton code ?
    "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
    Membre éclairé Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Points : 717
    Points
    717
    Par défaut
    Bonjour,

    Merci pour ta réponse Ange_blond. Pour être plus précis, le PAT en mode ABSOLUTE provient du logiciel sur lequel je boss et vient d'un impératif lié aux modèles (réels) liés au projet...Et je ne peut pas en changer.

    J'ai donc ce PAT (abolute attaché à ma caméra), et je charge mon modèle via un simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    newObjetNode = osgTools::loadFile("File.ive"); => PAT en relatif dans File.ive
    
    maCameraNode->AddChild(newObjetNode
    
    osgDB::writeNodeFile(*newObjetNode,"C:/Test.osg"); => PAT en asolu dans Test.osg
    j'ai parcouru le code pas à pas, rien ne change mes noeuds PAT...C'est vraiment étrange ! Je vais refaire un projet en partant de 0, voir si le problème persiste.

    A+.
    For crying out loud !

  4. #4
    Membre éclairé Avatar de PadawanDuDelphi
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2006
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2006
    Messages : 678
    Points : 717
    Points
    717
    Par défaut
    Pour information, j'ai trouvé l'erreur :

    En fait c'est dans notre SDK : un nodeVisitor modifiait directement les TransformNode pour forcer leur état à absolute...
    Désolé d'avoir posé une question finalement inutile et merci pour ton aide ange !

    A+.
    For crying out loud !

  5. #5
    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
    de rien
    "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"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Passage de position:fixed à absolute, relative ou static
    Par FabienThot69 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/10/2011, 18h05
  2. position absolute & relative par rapport à fixed
    Par Marc22 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 10/05/2010, 16h32
  3. Relative->absolute et absolute->relative (bug IE)
    Par Switcher dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 20/01/2010, 13h45
  4. div absolute / relative
    Par kataboy dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 10/07/2009, 18h07
  5. Div : position: absolute, relative ou static ?
    Par philippef dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 16/01/2007, 12h59

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