   Question about instance vertex data
  This post is somewhat related to this one:  http://www.gamedev.net/community/forums/topic.asp?topic_id=570858I'm also using DX9.Let's say that I have multiple game entities that use the same (local space) vertex information.  However, they are different entities in the game, so they have different world coordinates.  Assuming that I don't use the instancing technique (where a second vertex stream is specified for world space matrices), it seems there are two ways I could specify the vertex data:(1)  Make a new copy of the vertex data for each instance and render them from their own part of the vertex buffer.(2)  Only specify the vertex data once.  when rendering set the instance transform matrix and draw from the same index for each instance.I've tried both methods and they both seem to work.  I'm just wondering how these methods are handled by the graphics card.  Is there a performance difference here?  Or is method (1) just taking up more VRAM?  Is method (1) more useful for dynamic buffers where the vertex data would change per instance?Thanks in advance.   
  For #1 to work you have to pre-transform the vertices to world-space on the CPU. So you use more memory, and you have to do lot of CPU work. Even with optimized SIMD code doing that transformation is likely to be a lot slower than it would be on a GPU.For #2 you have to use multiple draw calls, which means CPU overhead.   ;  Actually, I'm talking about doing the vertex transformations on the GPU in both cases.  Just wondering how the vertices get pushed down the pipeline if I do several draw calls on the same set of vertices in a vertex buffer.   ;  I'm a little confused. For #1, will you use multiple draw calls? If not, how will you provide the instance world matrix?   ;  Yeah.  I'm talking about doing multiple draw calls in both cases.  However, in one case I would do multiple draw calls on the same section of the vertex buffer several times.  In the other case I would fill a vertex buffer with copies of the same data and do multiple draw calls on all of those sections of the vertex buffer.I was just a little confused at first which way is proper for drawing multiple instances of the same model.  It sounds like filling the vertex buffer with multiple copies is just a waste of space and it will work fine doing multiple draw calls on the same section of a vertex buffer.   ;  Ahh, I see. Yeah I don't think there would be any benefit to having multiple copies of the data in your vertex buffer. In both cases the data will come through the pipeline the same way, so the multiple copies would just be wasting memory.   