Bonjour à tous !
Voila, j´ai une petite question bete en directX (encore!).
Quand je dessine avec des VB/IB, j´utilise la methode SetStreamSource() et je passe comme param :
-0
-mon vertexBuffer construit à la main
-0
-une valeur ou je comprend pas ce que je dois mettre
La doc directX me précise cela :
StreamNumber
[in] Specifies the data stream, in the range from 0 to the maximum number of streams -1.
pStreamData
[in] Pointer to an IDirect3DVertexBuffer9 interface, representing the vertex buffer to bind to the specified data stream.
OffsetInBytes
[in] Offset from the beginning of the stream to the beginning of the vertex data, in bytes. To find out if the device supports stream offsets, see the D3DDEVCAPS2_STREAMOFFSET constant in D3DDEVCAPS2.
Stride
[in] Stride of the component, in bytes. See Remarks.
Return Value
If the method succeeds, the return value is D3D_OK.
If the method fails, the return value can be D3DERR_INVALIDCALL.
Remarks
When a flexible vertex format (FVF) vertex shader is used, the stride of the vertex stream must match the vertex size, computed from the FVF. When a declaration is used, the stride should be greater than or equal to the stream size computed from the declaration.
When an application no longer holds a references to this interface, the interface will automatically be freed.
Le soucis c´est que je pige toujours pas ce que je dois mettre comme 4eme paramètre (je ne suis pas sur de comprendre la phrase).
Moi j´utilise des FVF (Flexible Vertex Format).
Au depart je mettais comme paramètre nbrVertices * sizeof(CUSTOMVERTEX) mais comme ca faisait planter/était très moche, j´ai essayé de tatonner.
Par exemple, pour un cube {8 vertices, 36 index dans un IB}, la valeur 32 me permet de bien visualiser mon cube.
Mais alors, pourquoi ? J´en sais rien.
J´ai essayé de comprendre mais rien.
Pourquoi 32?
32 = 16*2 = 8*4 = ... ?
J´arrive à rien trouver en fonction de nbrVertices et nbrIndices.
Bon, j´ai bien compris que sizeof(CUSTOMVERTEX) ne peut pas apparaitre dans l´expression de ce param, car sizeof(CUSTOM) = 36, ce qui depasse deja ma valeur de 32 qui semble bien marcher pour mon cube.
Voila, si vous avez des pistes, des idées, c´est sympa.
Ha oui, j´ai mis 2 zeros mais c´est sans aucune certitude.
J´ai du mal à comprendre ce que je dois lui passer à cette fonction , à part le vertexBuffer en 3eme position bien sur.
Voilou, bonne soirée.