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 :

DirectX, WorldMatrix & Caméra


Sujet :

DirectX

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 4
    Points : 4
    Points
    4
    Par défaut DirectX, WorldMatrix & Caméra
    Bonjour,

    Je reprends un peu le DirectX/3D et j'essaie de déplacer la caméra dans ma scène.

    Je conserve une matrice de transformation (matTransform) qui me sert à chaque fois que je rends la scène.

    device3D->SetTransform( D3DTS_WORLD, &matTransform);

    Juste avant de "rendre" la scène, je fais faire à la caméra un pas en avant et à l'aide du clavier je peux lever la tête, la descendre tourner à gauche ou à droite :

    D3DXMatrixTranslation(&matTranslation, 0, 0, -0.001f);
    matTransform = matTransform * matRotation * matTranslation;


    Tout ca fonctionne bien mais j'aimerais obtenir récupérer à un moment donné les coordonnées de la caméra dans mon monde.

    Je me dis qu'avant le device3D->SetTransform( D3DTS_WORLD, &matTransform); la caméra est aux coordonnées (0, 0, 0) et donc qu'une multiplication de la matrice matTransform par le vecteur (0, 0, 0, 1) devrait me donner ce que je cherche. Autrement dit :

    cameraX = matTransform._41;
    cameraY = matTransform._42;
    cameraZ = matTransform._43;


    Or, ce n'est pas du tout le cas et je ne comprends pas pourquoi ?

    Voila, si vous avez des idées !

    Merci
    Lynxounette

  2. #2
    Invité
    Invité(e)
    Par défaut
    La camera a sa propre matrice à elle, a savoir la matrice de vue... pourquoi ne pas l'utiliser ?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    J'utilise maintenant D3DTS_VIEW à la place de D3DTS_WORLD, j'ai cependant toujours le même problème

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Bon bah après de multiples essais j'ai inversé ma matrice matTransform et j'ai pu voir que avec cette inversion je peux obtenir ce que je veux ^_^

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

Discussions similaires

  1. Avoir une caméra compatible DirectX
    Par Masmeta dans le forum Windows
    Réponses: 0
    Dernier message: 19/12/2012, 16h23
  2. Déplacer la caméra sous Directx
    Par hohenheim37 dans le forum DirectX
    Réponses: 28
    Dernier message: 25/09/2010, 11h11
  3. DirectX : rendre effectif le mouvement de caméra
    Par Graffito dans le forum Windows Forms
    Réponses: 1
    Dernier message: 14/02/2009, 10h20
  4. OpenGL ou DirectX
    Par Nadir dans le forum DirectX
    Réponses: 6
    Dernier message: 02/05/2002, 12h48
  5. Documentation DirectX dans C++Builder 3
    Par srvremi dans le forum DirectX
    Réponses: 1
    Dernier message: 26/04/2002, 09h59

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