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 :

Récupérer les vertex d'un Mesh


Sujet :

DirectX

Vue hybride

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 134
    Par défaut Récupérer les vertex d'un Mesh
    Comment faire pour sortir (récupérer) les vertex (avec les indices) d'un Mesh pour les ajouter dans un autre Mesh ?

    Je cherche à fusionner des meshes en quelques sortes pour optimiser l'affichage. Je programme en C# mais une réponse en c++ me conviendra aussi.

    Merci

  2. #2
    Membre éprouvé
    Inscrit en
    Mai 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 99
    Par défaut
    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
    28
    29
    30
    31
    32
    33
    34
    35
     
    void * CMesh::GetLockVertices ( unsigned long * NumVertices , unsigned int * FVF , unsigned int * Stride )
    {
    	// get the VB 
    	VertexBuffer = NULL;
        HRESULT hr = Mesh->GetVertexBuffer( & VertexBuffer );
    	if( FAILED ( hr ) )
    	{
    		TCHAR Msg  [ ] = TEXT ( "Error - CMesh failed to get VB.\n" ) ;  
    		CTools::Log ( Msg ) ; 
    		return NULL ;
    	} ; 
    	// Gain access to the model's vertices
    	void * Vertices = NULL ;
    	hr = VertexBuffer->Lock ( 0, 0, & Vertices, 0 ) ; // no sys lock ? 
    	if ( FAILED ( hr ) )
    	{
    		TCHAR Msg  [ ] = TEXT ( "Error - CMesh failed to lock VB.\n" ) ;  
    		CTools::Log ( Msg ) ; 
    		SAFE_RELEASE ( VertexBuffer ) ; 
    		return NULL ;
    	} ; 
    	* NumVertices = Mesh->GetNumVertices ( ) ;
    	* FVF = Mesh->GetFVF ( ) ; 
    	* Stride = D3DXGetFVFVertexSize ( * FVF ) ;
    	return Vertices ; 
    } 
     
     
    void CMesh::UnlockVertices ( )
    {
    	// Done with the vertex buffer
    	VertexBuffer->Unlock ( );
    	SAFE_RELEASE ( VertexBuffer ) ; 
    }

Discussions similaires

  1. Récupérer les mails Outlook dans une table Access
    Par zerrokooll dans le forum VBA Access
    Réponses: 79
    Dernier message: 07/07/2009, 14h22
  2. Réponses: 7
    Dernier message: 31/07/2008, 15h27
  3. Comment récupérer les adresses WWW dans Internet Explorer ?
    Par chaours dans le forum Web & réseau
    Réponses: 7
    Dernier message: 03/09/2003, 14h27
  4. question sur les vertex buffer et index buffer
    Par airseb dans le forum DirectX
    Réponses: 9
    Dernier message: 25/08/2003, 02h38
  5. Réponses: 4
    Dernier message: 04/07/2003, 19h13

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