Remplissage d'un Vertex Buffer [DirectX] - Programmation
Marsh Posté le 28-02-2002 à 22:58:41
Je connais rien à DX mais d'après le code le lock t'initialise le pointeur pVertices pour que tu puisses y mettre ton tableau avec memcopy.
Marsh Posté le 28-02-2002 à 23:14:40
DA TRUE CLOUSEAU a écrit a écrit : Je connais rien à DX mais d'après le code le lock t'initialise le pointeur pVertices pour que tu puisses y mettre ton tableau avec memcopy. |
le but est de remplir g_pVB avec g_Vertices mais je ne comprends pas pourquoi on passe par un poiteur local (pVertices)
Marsh Posté le 28-02-2002 à 23:18:44
Parce que g_pVB point sur un objet vertex buffer et non sur la mémoire correspondant à ce VB. Cette dernière s'obtient avec la méthode Lock en lui passant un pointeur sur un pointeur en argument.
[jfdsdjhfuetppo]--Message édité par DA TRUE CLOUSEAU--[/jfdsdjhfuetppo]
Marsh Posté le 28-02-2002 à 23:27:47
DA TRUE CLOUSEAU a écrit a écrit : Parce que g_pVB point sur un objet vertex buffer et non sur la mémoire correspondant à ce VB. Cette dernière s'obtient avec la méthode Lock en lui passant un pointeur sur un pointeur en argument. |
ok c'est plus clair déjà
c'est pas facile d'avoir le réflexe de penser à l'objet quand tu viens du C
Marsh Posté le 01-03-2002 à 01:29:36
Déjà des problèmes titoine ?
Marsh Posté le 01-03-2002 à 01:59:30
titoine42 a écrit a écrit : ok c'est plus clair déjà c'est pas facile d'avoir le réflexe de penser à l'objet quand tu viens du C |
on en reparlera
Marsh Posté le 01-03-2002 à 02:03:34
titoine42 a écrit a écrit : on en reparlera |
C'était un up
Marsh Posté le 28-02-2002 à 22:44:33
voici un extrait du SDK 8.1
VOID* pVertices;
if( FAILED( g_pVB->Lock( 0, sizeof(g_Vertices), (BYTE**)&pVertices, 0 ) ) )
return E_FAIL;
memcpy( pVertices, g_Vertices, sizeof(g_Vertices) );
g_pVB->Unlock();
je ne comprends pas l'utilité du mem copy sachant que le proto de memcpy est :
void *memcpy( void *dest, const void *src, size_t count );
je crois, surtout que le problème est que je comprends pas le fonctionnement du lock alors si qqn à la bonne volonté de m'expliquer dans les détails cette fonction