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 :

lignes 3d avec d3dx


Sujet :

DirectX

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 35
    Par défaut lignes 3d avec d3dx
    bonjour,

    ma question est comment tracer des lignes 3d avec d3dx. j'ai bien trouvé comment faire dans le sdk. je crée ma ligne et j'utilise draw transform 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
    	D3DLine->SetAntialias(1);
    	D3DLine->SetWidth(1.0f);
    	D3DLine->Begin();
     
    	D3DXMATRIX out, view, proj, world;
     
        pDevice->GetTransform(D3DTS_VIEW, &view);
        pDevice->GetTransform(D3DTS_PROJECTION, &proj);
        pDevice->GetTransform(D3DTS_WORLD, &world);
     
        D3DXMatrixIdentity(&out);
        out = world * view * proj;
        HRESULT toto=D3DLine->DrawTransform(&pVertex, NbPts, &out, D3DCOLOR_ARGB(1,255,255,255));
    	D3DLine->End();
    	D3DLine->Release();
    main j'ai un gros plantage sur la ligne HRESULT toto=D3DLine>DrawTransform(&pVertex, NbPts, &out, D3DCOLOR_ARGB(1,255,255,255));

    je ne sais pas d'où cela provient...si quelqu'un peut me filer un coup de main...merci d'avance


    [Balises CODE rajoutées par Loulou24, merci d'y penser à l'avenir]

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    On peut voir d'où vient pVertex ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 35
    Par défaut pVertex
    voici pVertex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    D3DXVECTOR3 pVertex;
    ....
    ....
    for (i; i < nb_points*3; i+=3)
    {
    pVertex[i]=points[i];
    pVertex[i+1]=points[i+1];
    pVertex[i+2]=points[i+2];
    }
    ...
    ...
    je rempli donc pVertex avec points qui est uin tableau en entrée de ma fonction...

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    pVertex ne serait pas plutôt un tableau ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 35
    Par défaut oups
    effectivement...c'est une erreur de ma part...cependant après correction je n'obtiens rien à l'écran...voici le code modifié :

    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
     
    D3DXVECTOR3 *pVertex=new D3DXVECTOR3[3*NbPts];
    ...
    ...
    int var2=0;
    for (var;var<NbPts;var++,var2+=3)
    {
    pVertex[var]=D3DXVECTOR3(new_points[var2],new_points[var2+1],new_points[var2+2]);
    }
    ...
    ...
    D3DLine->SetAntialias(1);
    D3DLine->SetWidth(1.0f);
    D3DLine->Begin();
     
    D3DXMATRIX out, view, proj, world;
     
    pDevice->GetTransform(D3DTS_VIEW, &view);
    pDevice->GetTransform(D3DTS_PROJECTION, &proj);
    pDevice->GetTransform(D3DTS_WORLD, &world);
     
    D3DXMatrixIdentity(&out);
    out = world * view * proj;
     HRESULT toto=D3DLine->DrawTransform(pVertex, NbPts, &out, D3DCOLOR_ARGB(255,255,255,255));
     
    D3DLine->End();
    D3DLine->Release();
    il n'y a pas de plantage...tous mes tableaux semblent bien remplis...

    merci encore pour l'aide apportée

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 35
    Par défaut suite du problème
    bonjour !!

    est-ce que qqun a une idée ? pourquoi je n'obtiens rien à l'écran ?
    je me demande si je remplit correctement pVertex, si c'est bien comme ça qu'il faut procéder...

    merci pour votre aide si précieuse !! La j'avoue que je suis coincé

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Essaye un DrawPrimitiveUP sur tes vertices pour voir si c'est l'utilisation de ID3DXLine qui foire. Si tu ne vois toujours rien, alors vérifie les coorrdonnées de tex vertices, tes matrices de transformation, ou encore les renderstates à la con.

    Au fait, pVertex est trop grand : sa taille devrait être NbPts / 3. Et n'oublie pas le delete qui va bien une fois que tu n'en as plus besoin -- ou utilise une std::vector.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 35
    Par défaut renderstates
    y a t il des états particuliers à séter ou à ne pas séter pour les lignes ?? :

    c'est assez bizarre. mes points s'affichent bien, mes solides également ...

    mes tableaux sont corrects et ma matrice de transformation aussi...enfin bref bizarre bizarre...

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 35
    Par défaut suite et fin ?
    bon ça y est ça marche...le problème venait de ma matrice...oups..lol

    merci encore pour l'aide...

    une dernière question..comment faire pour mettre une couleur sur ces lignes.....?

  10. #10
    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
    Avec le dernier paramètre de DrawTransform non ?

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 35
    Par défaut oups

    toutes mes excuses....il est temps pour moi de prendre des vacances...

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 35
    Par défaut pb matrice
    coucou c remoi..

    bon ba apparament je ne donne pas la bonne matrice....et je ne sais pas trop d'ou peut venir le probleme...apparament deja en donant la transposée de la matrice out (cf supra) mon origine ne se trouve plus en haut à gauche mais bien au centre de ma fenetre..mais ça me trace pas tout et mem un peu n'importe quoi...enfin bref si qqun a des précisions sur cette matrice qu'il faut passer a la méthode drawtransform..l'aide du sdk est un peu légère je trouve.

    merci d'avance

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 35
    Par défaut probleme résolu
    bon ba c réparé...ça ne venait pas des matrices...tout fonctionne bien

    a plus

Discussions similaires

  1. retor de ligne BR avec parametre
    Par FoxLeRenard dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 25/03/2006, 22h55
  2. Réponses: 1
    Dernier message: 03/03/2006, 13h53
  3. compteur de ligne excel avec filtre
    Par calimero91 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/12/2005, 11h04
  4. retour ligne intélligent avec l'utilisation de DIV
    Par bébé dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 22/08/2005, 17h46
  5. Génération de lignes entières avec TEXT_IO.PUT
    Par ludo.guy dans le forum Oracle
    Réponses: 9
    Dernier message: 13/10/2004, 15h28

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