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 :

Combien d'instance de ID3DXSPRITE ?


Sujet :

DirectX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Avatar de TheDrev
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Par défaut Combien d'instance de ID3DXSPRITE ?
    Bonjour !

    Combiens faut il créer d'instances de ID3DXSPRITE ? Dans quel cas ?

    Par exemple, et il mieux d'en creer une seul :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    //declaration 
    ID3DXSprite *pD3dxspirte= NULL;
     
    //Dans ma fonction render
    g_pD3dxspirte->Begin();
     
    //transformation et dessins
     
    g_pD3dxspirte->End();
    Ou bien doit je en faire une pour chaque type de sprite ? (par exemple : une pour le hero que je pourrait transformer : rotation, taille... et un autre pour la carte)

    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
     
    //declaration 
    ID3DXSprite *pD3dxspirte_Hero= NULL;
    ID3DXSprite *pD3dxspirte_Carte= NULL;
     
    //Dans ma fonction render
    g_pD3dxspirte_Hero->Begin();
     
    pD3dxspirte_Hero->draw(...)//transformation et dessins
     
    g_pD3dxspirte_Hero->End();
     
    g_pD3dxspirte_Carte->Begin();
     
    pD3dxspirte_Carte->draw(...)//transformation et dessins
     
    g_pD3dxspirte_Carte->End();
    Merci d'avance !

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 76
    Par défaut
    Un sprite ce n'est rien d'autre qu'un quad 3D que tu positionnes a l'écran a l'aide des coordonnée de l'écran. Pour dessiner ce quad l'API doit faire appel a begin pour faire la plupart des render state (transparence, etc...) pour mettre la texture et le vertex stream sans doute aussi. Je ne suis sur de rien pour la fin mais essayes de mettre des textures a chacun des stages tu verras bien.

    Bref le mieu est un unique appel a begin, puisqu'il n'y a qu'un changement de state. End reviens aux states sauvegardés au begin, donc si tu fais seulement de la 2D tu peux mettre tes render state une fois pour toute au début et poser le flag pour éviter les changements de state (D3DXSPRITE_DONOTSAVESTATE).

Discussions similaires

  1. Réponses: 18
    Dernier message: 27/12/2014, 00h22
  2. Réponses: 3
    Dernier message: 01/06/2012, 16h14
  3. Combien d'instances sur un même serveur
    Par sgonzale dans le forum Oracle
    Réponses: 2
    Dernier message: 21/06/2006, 15h44
  4. [] plusieurs instances de form avec leur contexte ?
    Par Seb-31 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 11/04/2003, 13h56
  5. [D7][TreeView/ListView] Combien d'items possibles ?
    Par phplive dans le forum Composants VCL
    Réponses: 6
    Dernier message: 09/04/2003, 22h40

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