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 :

Sphere et texture


Sujet :

DirectX

Vue hybride

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

    Informations forums :
    Inscription : Juillet 2004
    Messages : 19
    Par défaut Sphere et texture
    Bonjour, désolé je suis un débutant directX et de la 3D en général.
    Je cherche en fait une bonne explication sur le mapping de texture.
    Mon problème est le suivant :
    j'ai un mesh d'une sphère que je créé grâce à D3DXCreateSphere, j'applique ensuite une texture dessus avec le code suivant :

    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
     
        (*m_pDevice)->SetTexture( 0, m_pTexture );
        (*m_pDevice)->SetTextureStageState( 0, D3DTSS_COLOROP,   D3DTOP_MODULATE );
        (*m_pDevice)->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
        (*m_pDevice)->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );
        (*m_pDevice)->SetTextureStageState( 0, D3DTSS_ALPHAOP,   D3DTOP_DISABLE );
     
        D3DXMATRIXA16 mat;
        mat._11 = 1.0f; mat._12 = 0.00f; mat._13 = 0.00f; mat._14 = 0.00f;
        mat._21 = 0.00f;mat._22 =-1.0f ; mat._23 = 0.00f; mat._24 = 0.00f;
        mat._31 = 0.00f;mat._32 = 0.00f; mat._33 = 1.00f; mat._34 = 0.00f;
        mat._41 = 1.0f; mat._42 = 1.0f ; mat._43 = 0.00f; mat._44 = 1.00f;
     
        (*m_pDevice)->SetTransform(D3DTS_TEXTURE0, &mat);
        (*m_pDevice)->SetTextureStageState(0, D3DTSS_TEXTURETRANSFORMFLAGS, D3DTTFF_COUNT2 );
        (*m_pDevice)->SetTextureStageState(0, D3DTSS_TEXCOORDINDEX, D3DTSS_TCI_SPHEREMAP);
    A vrai dire, je n'ai pas trop compris comment fonctionne cette matrice, j'ai trouvé ça dans un tutorial fournit dans le SDK de directX, j'ai bidouillé un peu les valeurs et la texture s'affiche correctement. Cependant lorsque j'applique une rotation sur ma sphère la texture ne tourne pas avec
    On voit bien que la sphère tourne parce que ca provoque des petits bugs d'affichage (comme si la texture tremble ...). Si vous avez une idée ou bien une URL d'un site bien fait expliquant le mapping de texture je suis preneur. Merci d'avance !

  2. #2
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Par défaut
    Est-ce que tu appliques ce code une seule fois, ou après chaque rotation de ta sphère?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 19
    Par défaut
    Je l'applique à chaque fois que je passe dans la fonction de rendu

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 19
    Par défaut
    Je viens de résoudre mon problème grâce aux URL suivantes :

    http://www.univ-reims.fr/UFR/Info/Im...mMesh.cpp.html
    http://www.mvps.org/directx/articles/spheremap.htm

    Merci à moldavi pour m'avoir répondu si rapidement
    A plus

    Ps : je tiens à dire que même si je ne participe pas vraiment à la vie de ce forum je le trouve très bien fait et très utile pour les développeurs perdus

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

Discussions similaires

  1. Pb texture sur une sphere
    Par olivier21c dans le forum OpenGL
    Réponses: 9
    Dernier message: 25/02/2011, 09h54
  2. Texture Sphere OpenGL
    Par bouillet dans le forum OpenGL
    Réponses: 2
    Dernier message: 07/12/2008, 02h14
  3. Texture de sphere..
    Par DrTank dans le forum OpenGL
    Réponses: 8
    Dernier message: 08/05/2007, 20h51
  4. texture d'une sphere?
    Par swibina dans le forum GLUT
    Réponses: 5
    Dernier message: 31/03/2007, 19h50
  5. TExture sphere
    Par neril dans le forum OpenGL
    Réponses: 1
    Dernier message: 15/04/2005, 20h36

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