Hello, I have read a little bit more into the concept of vertex buffering, and I wanted to make sure that I've understood everything correctly and ask some WineD3D questions.
According to some documents I've found on the internet and the description in the DX7 SDK, the the application uses Vertex Buffers to store some vertex declarations. Therefore it Locks() the buffer, writes some vertex data into the buffer and Unlocks() it. When it calls DrawIndexedPrimitiveVB, it tells D3D7 to render some vertices from the buffers memory, based on the index it passes.
The purpose for this is optimisation, so the graphics driver knows about the vertices in the buffer and can do some pre-calculations.
So what the implementation of DrawIndexedPrimitiveVB has to do is to read the vertex definitions from the buffer and pass it to the rendering functions. Which render function does WineD3D have? From the headers it looks like drawPrimitive() is the main function here.
Stefan