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 :

problème de coordonnées ou autre problème ?


Sujet :

DirectX

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 49
    Points : 21
    Points
    21
    Par défaut problème de coordonnées ou autre problème ?
    Salut !
    Je veux afficher un triangle, j'y suis arrivé mais depuis que j'ai mis

    au lieu de

    plus rien n'apparait. J'ai essayé de jouer avec les coordonnées de la caméra mais je me suis un peu perdu en route, voici ces coordonnées et celles du triangle si le problème vient de là sinon pourriez vous m'aiguiller ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    vertexData[0].x=0.0f ;
    	vertexData[0].y=100.0f ;
    	vertexData[0].z=0.9f ;
     
    	vertexData[1].x=100.0f ;
    	vertexData[1].y=0.0f ;
    	vertexData[1].z=0.9f ;
     
    	vertexData[2].x=0.0f ;
    	vertexData[2].y=0.0f ;
    	vertexData[2].z=0.9f ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    eyeVector=D3DXVECTOR3( 0.0f, 0.0f, 0.0f );
     
       lookAtVector=D3DXVECTOR3( 0.0f, 0.0f, 1.0f );

  2. #2
    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 : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    D3DFVF_XYZRHW a pour conséquence que les sommets ne sont pas transformés par les matrices world / view / projection, ce qui veut dire que maintenant que tu ne l'utilises plus, ils le sont.
    Ton problème doit donc venir de la définition de l'une de ces matrices, essaye de les bidouiller un peu.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 49
    Points : 21
    Points
    21
    Par défaut
    j'ai trouvé l'erreur : je ne les appelais pas dans le bon ordre.
    Mais j'ai un autre problème maintenant,
    1)la rotation du triangle est saccadée
    2)je ne comprend pas quand il faut spécifier le viewport (quand je le fait j'ai une trainée derrière le triangle)

  4. #4
    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 : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    1)la rotation du triangle est saccadée
    Sans voir de code, difficile à dire...

    2)je ne comprend pas quand il faut spécifier le viewport (quand je le fait j'ai une trainée derrière le triangle)
    Quand tu veux, mais le viewport par défaut couvre tout l'écran, donc tu n'es pas obligé de le redéfinir si cela convient.

  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 : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Tu tournes à combien d'images par seconde ? Que vaut la variable angle ? Si ton triangle tourne trop vite ça pourrait causer un effet de saccade qui n'en est en fait pas un.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 49
    Points : 21
    Points
    21
    Par défaut
    angle vaut D3DX_PI/2000
    je n'ai pas implémenté le nombre de fps :-/

  7. #7
    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 : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Tu peux utiliser le logiciel FRAPS pour mesurer le framerate.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 49
    Points : 21
    Points
    21
    Par défaut
    ok merci je vais essayer

  9. #9
    Membre expérimenté

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Points : 1 679
    Points
    1 679
    Par défaut
    D3DFVF_XYZRHW = sommet prétransformé/prédivisé par W (RHW reciprocal homogeneous W)
    D3DFVF_XYZ = sommet qui va passer à travers les unités de vertex shading ou de transform and lighting.

    La distinction est importante parce que XYZRHW ne spécifie pas uniquement l'espace de définition de ton sommet mais également va indiquer à D3d de bypasser tout vertex shader ou toute matrice de transformation et calcul d'éclairage, etc...

    Il faut aussi que tu consultes ta doc DX pour comprendre quelles sont les dimensions de ton frustum post shader.

    En gros et résumé, en prétransformé, les coordonnées X,Y sont les coordonnées écran, Z est utilisé pour remplir le Z-Buffer et le terme rhw est utilisé pour interpoler les attributs de manière perspective correct.

    En version prétransformé, c'est toi qui te fixes les matrices de transformation donc tu as les conventions qui t'arrangent (ça peut-etre une matrice par objet, une matrice pour le monde, une concaténation de matrice pour la vue, le monde et l'objet et le skinning etc..). Après multiplication par les matrices, les coordonnées sont d'abord divisées par W pour être ramenées dans un parallélépipide rectangle. x/w,y/w entre [-1,1], z/w entre [0,1].

    LeGreg

Discussions similaires

  1. problème lors de passage d’un système de coordonnée à un autre
    Par nectar dans le forum IGN API Géoportail
    Réponses: 2
    Dernier message: 15/09/2012, 11h31
  2. [sql server 2k] problèmes de connexions et autres
    Par poosh dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 19/06/2006, 14h02
  3. Réponses: 2
    Dernier message: 16/10/2005, 19h19
  4. problème de coordonnées
    Par Yennick dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 11/03/2005, 17h32
  5. partage de connexion win2k : problèmes d'IP et autres...
    Par Eusebius dans le forum Développement
    Réponses: 2
    Dernier message: 19/05/2003, 13h57

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