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

DirectX Discussion :

Matrice de vue


Sujet :

DirectX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 41
    Par défaut Matrice de vue
    Dans DirectX, il existe la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    D3DXMatrixLookAtLH(          D3DXMATRIX *pOut,
        CONST D3DXVECTOR3 *pEye,
        CONST D3DXVECTOR3 *pAt,
        CONST D3DXVECTOR3 *pUp
    );
    Elle permet de générer la matrice de vue.
    Le 1er vecteur indique le point ou est positionné la caméra
    Le 2eme vecteur indique le point regardé par la caméra
    Le 3eme vecteur indique la position de la caméra.

    Et c la ke ca coince, je ne sais pas trop comment choisir les valeurs.
    Est-ce ke kkun sais comment fct ce dernier vecteur??

  2. #2
    Membre confirmé
    Inscrit en
    Novembre 2003
    Messages
    74
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 74
    Par défaut
    le dernier vecteur correspond au vecteur qui définit le "haut" dans le monde. Il s'agit généralement de [0,1,0].

    Pour les autres vecteurs, ça dépend de ce que doit faire ta caméra...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 41
    Par défaut
    Qu'entends tu par "haut" du monde???

  4. #4
    Membre expérimenté
    Avatar de Nicolas Bauland
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 119
    Par défaut
    Le monde 3D peut etre vu comme un repere de trois axe: X, Y et Z.
    Quand on defini les deux premiers vecteurs (et fait, c'est plutot des points) ils correspondent en gros au position de la camera et du point observer.

    Maintenant suppose que l'on porte une camera a l'epaule, on peut tres bien basculer la camera d'un quart de tour vers la gauche, la droite ou meme la placer a l'envers.
    Il faut donc indiquer a la camera comment elle doit se tourner:c'est le role du troisième vecteur. Comme en général, on regarde en etant debout ou assis, c'est surtout le cas des rpg, on l'indique par une valeur non nulle sur l'axe Y. Si on veut représenter la vue d'un personnage avec les pied a l'envers, on mettra une valeur négative sur l'axe Y. Si on veut regarder la télé, vautrer dans un canapé, l'image est basculee de 90 °, on mettra une valeur non nulle sur l'axe X.

    J'espere a voir ete a peu pres clair. Bon developpement ...

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    J'ai supprimé ton autre post. Merci de ne pas demander deux fois la même chose sur le même forum...


  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 41
    Par défaut
    J'ai bien compris le systeme.

    Mais, par exemple, si je positionne la caméra en 0,1,0 et je regarde le point 0,0,0. Que dois-je mettre dans le dernier paramètre???

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 71
    Par défaut
    Si ton "haut" du monde est l'axe Y+ (le plus courant, sans doute valable dans ton cas), tu mettra &D3DXVECTOR3(0, 1, 0) pour le dernier paramètre.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/02/2013, 21h44
  2. [DirectX 9] Bypasser la matrice de vue
    Par Bartimeus dans le forum DirectX
    Réponses: 5
    Dernier message: 02/08/2011, 01h10
  3. une vue de coté pour une matrice (affichage)
    Par MaGniFiC0 dans le forum Ada
    Réponses: 2
    Dernier message: 29/11/2010, 20h57
  4. Réponses: 8
    Dernier message: 28/08/2009, 09h13
  5. [3D] matrice de déformation pour un point de vue décalé
    Par mou013 dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 04/02/2006, 18h29

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