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 :

[C++] Comment on utilise D3DXCreateEffect?


Sujet :

DirectX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut [C++] Comment on utilise D3DXCreateEffect?
    Bonjour à tous,

    J'ai des données pour créer des effets, mais je ne sais pas comment m'y prendre. En effet, dans la doc, il y a des exemples pour en créer depuis des fichier fx ou des ressources, mais c'est tout.

    Dans la doc ils disent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    HRESULT D3DXCreateEffect(
      LPDIRECT3DDEVICE9 pDevice,
      LPCVOID pSrcData,
      UINT SrcDataLen,
      CONST D3DXMACRO * pDefines,
      LPD3DXINCLUDE pInclude,
      DWORD Flags,
      LPD3DXEFFECTPOOL pPool,
      LPD3DXEFFECT * ppEffect,
      LPD3DXBUFFER * ppCompilationErrors
    );
    Est-ce que quelqu'un aurai un exemple d'utilisation?

    Meric

    A bientôt[/code]

  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
    Il n'y a vraiment pas d'exemple dans la doc ou les samples du SDK ? Il me semblait même qu'il y avait tout un chapitre consacré à ça.

    La fonction que tu cites ne sert qu'à charger un fichier effet, donc après tout se passe dans ce fichier. La syntaxe est décrite dans la doc (là j'en suis presque sûr), et ensuite pour l'utilisation, il suffit de consulter l'aide de ID3DXEffect.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut
    Ben dans la doc j'ai vu que des exemples de D3DXCreateEffectFromFile et D3DXCreateEffectFromResource c'est pour ça...

    Pour D3DXCreateEffect, j'ai juste vu la definition que j'ai recopié ci dessus, mais le pointeur pSrcData, je le pointe que quoi? après le reste j'dois pouvoir trouver.

    Merci

  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
    pSrcData représente ton fichier effet, soit sous forme de chaîne de caractères, soit sous forme compilée.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut
    Dis t'es sûr LouLou?

    Car dans ce cas, si D3DXCreateEffect prend en paramètre le chemin d'un fichier .fx, pourquoi faire une fonction D3DXCreateEffectFromFile?

    Et dans la msdn, D3DXCreateEffectFromFile est comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    HRESULT WINAPI D3DXCreateEffectFromFile(          LPDIRECT3DDEVICE9 pDevice,
        LPCTSTR pSrcFile,
        const D3DXMACRO *pDefines,
        LPD3DXINCLUDE pInclude,
        DWORD Flags,
        LPD3DXEFFECTPOOL pPool,
        LPD3DXEFFECT *ppEffect,
        LPD3DXBUFFER *ppCompilationErrors
    );
    et D3DXCreateEffect est comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    HRESULT WINAPI D3DXCreateEffect(          LPDIRECT3DDEVICE9 pDevice,
        LPCVOID pSrcData,
        UINT SrcDataLen,
        const D3DXMACRO *pDefines,
        LPD3DXINCLUDE pInclude,
        DWORD Flags,
        LPD3DXEFFECTPOOL pPool,
        LPD3DXEFFECT *ppEffect,
        LPD3DXBUFFER *ppCompilationErrors
    );
    On voit bien la différence de pSrcData et pSrcFile...

    Enfin bref, en fait j'ai des infos d'effets (ambient, texture, spec_level, transparancy, etc...). Ces infos sont dans une section Effect du shéma XML de Collada, alors j'me suis intéressé aux effets. Ensuite dans les matériaux, chacun instancie un effet, donc peut-être est-il possible d'appliquer ces paramètres à un matériau sans passer par des effets... En plus ces infos, on les rentre dans le gestionnaire de matériau dans 3DSMax...

    J'vais regarder un peu comment c'est fait un matériau (j'avais l'habitude des LoadXFile c'est pour ça)

    Merci LouLou

    A bientôt

  6. #6
    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
    Car dans ce cas, si D3DXCreateEffect prend en paramètre le chemin d'un fichier .fx, pourquoi faire une fonction D3DXCreateEffectFromFile?
    Je n'ai pas dit qu'il prenait en paramètre le nom du fichier, j'ai dit qu'il prenait directement son contenu (il n'y a pas de fichier).

    Sinon effectivement, avec ce genre d'infos tu peux te contenter de définir un D3DMATERIAL9, pas besoin d'effet.

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 825
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 825
    Par défaut
    Bon bé je vais faire sans effet alors

    Merci

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/02/2005, 14h39
  2. [Optimisation] Comment bien utiliser le StringBuffer?
    Par mathieu dans le forum Langage
    Réponses: 4
    Dernier message: 17/05/2004, 14h22
  3. Comment bien utiliser ce forum ?
    Par Alcatîz dans le forum Pascal
    Réponses: 0
    Dernier message: 21/04/2004, 16h37
  4. [scrapbook] comment l'utiliser ?
    Par Didier 69 dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 16/04/2004, 17h28
  5. [INDY] -> IdIdentServer comment l'utiliser ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 9
    Dernier message: 06/08/2003, 16h00

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