many calls to drawprimitive

So I will need to call DrawPrimitive for every single object (Vertex Buffer) like

that:

Code:

`LPDIRECT3DVERTEXBUFFER object[5]; // initialized with Sets Of Vertices`

/* ... */

D3DXMATRIX matrix_for_calculations;

/* Drawing object1 */

D3DXMatrixTranslation(&matrix_for_calculation, x_posObject1,

y_posObject1, z_posObject1);

pd3dDevice->SetTransform(D3DTS_WORLD,&matrix_for_calculations);

// This means the Stream must be set everytime again for every single object??

pd3dDevice->SetStreamSource(0,object[1],0,sizeof(basic_Vertex));

#define ALL_TRIANGLES_OF_OBJECT1 3

DrawPrimitive(D3DPT_TRIANGLESTRIP,0,ALL_TRIANGLES_OF_OBJECT1);

/* And this procedure is necessary for EVERY object (that is again calculating the Translation_Rotation Matrix, Setting the Stream, calling Draw Primitive... until every Object is drawn at its new Position)??

I guess this must be even more slowly than locking the VertexBuffers, copy the Objects' new positions to the Vertex Buffer, and finally draw them.

5 calls to SetTransform plus 5 calls to MatrixTranslation(or RotationX_Y_Z) are executed more quickly than 5 calls to Lock() + 5 memcopy()?

Are you sure?

*/

Thanks for your tips!