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 :

Gestion mémoire des Meshes (LPD3DXMESH)


Sujet :

DirectX

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1
    Points : 2
    Points
    2
    Par défaut [RESOLU] Gestion mémoire des Meshes (LPD3DXMESH)
    J'aurai besoin d'un peu d'aide.
    J'ai commencer à dévelloper un moteur 3D avec DirectX9. J'ai choisi d'utiliser des Vertex Buffers avec gestion mémoire du type D3DPOOL_DEFAULT, ce qui me permet de tout gérer à la main en cas de Lost Device, changement de résolution, etc...
    Mais lorsque j'utilise des meshes (via la classe LPD3DXMESH) et que je créé par exemple une sphere (D3DXCreateSphere) celle-ci est créée avec une gestion mémoire du type D3DPOOL_MANAGED. Ca me pose problème car je perds mes meshes en cas de Reset du Device (et changement de résolution).
    J'aimerai donc savoir si quelqu'un sait comment modifier cet attribut en D3DPOOL_DEFAULT.

    J'ai récupéré le vertex buffer d'un mesh via "GetVertexBuffer" et la description de ce vertex buffer via "GetDesc". Mais voilà, je sais pas comment faire pour modifier cette description et appliquer les changements....

    Merci d'avance
    +++

  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 : 39
    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
    Voici ce que dit le SDK DirectX9 :
    Managed resources persist through transitions between the lost and operational states of the device. The device can be restored with a call to IDirect3DDevice9::Reset, and such resources continue to function normally without being reloaded with artwork
    Donc au contraire, je te conseillerai d'utiliser au maximum des ressources MANAGED, vu qu'elles ne sont pas perdues lorsqu'on fait un Reset du device.

    Sinon pour répondre à ta question : il faut utiliser la methode ID3DXBaseMesh::CloneMesh, avec en 1er argument un flag qui indique les nouvelles options. Par contre dans celles-ci j'ai vu que D3DXMESH_MANAGED, donc je suppose que par défaut c'est mis en D3DPOOL_DEFAULT.

    PS : pourquoi t'as deja mis "RESOLU" ??

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

Discussions similaires

  1. [AIR] Gestion de la mémoire des states
    Par shagun dans le forum Flex
    Réponses: 0
    Dernier message: 07/10/2011, 12h02
  2. Gestion mémoire des données statiques
    Par oodini dans le forum C++
    Réponses: 11
    Dernier message: 20/03/2009, 15h42
  3. [C#] Affichage foireux des meshs
    Par Ingham dans le forum DirectX
    Réponses: 8
    Dernier message: 29/11/2004, 23h24
  4. logiciel creant des meshes
    Par gaut dans le forum DirectX
    Réponses: 14
    Dernier message: 14/09/2004, 01h27
  5. Gestion approfondie des utilisateurs
    Par Lux interior dans le forum XMLRAD
    Réponses: 11
    Dernier message: 04/03/2003, 21h43

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