On the http://msdn.microsof...9(v=vs.85).aspx page it is shown in the examples:
if( SUCCEEDED( pd3dDevice->BeginScene() ) )
{
for(int i=0; i < g_numObjects; i++)
{
pd3dDevice->SetStreamSource(0, g_VB_Geometry, 0,
D3DXGetDeclVertexSize( g_VBDecl_Geometry, 0 ));
pd3dDevice->SetVertexDeclaration( ... );
pd3dDevice->SetVertexShader( ... );
pd3dDevice->SetIndices( ... );
pd3dDevice->DrawIndexedPrimitive( D3DPT_TRIANGLELIST, 0, 0,
g_dwNumVertices, 0, g_dwNumIndices/3 );
}
pd3dDevice->EndScene();
}
Which is a contrast to a geometry instancing example.
My question is, is the SetStreamSource method required to be called everytime for each object or it is not enough if it is called before the loop?
Would this change the rendering performance for the objects or geometry instancing is a must in such cases?