   Gometery pipeline
  I remember that the Wolrd transformation should put before view and projection transformation.But why the tutorial in directxtutorial.com do it reversely?Here is the code // set the view transform    D3DXMATRIX matView;    // the view transform matrix    D3DXMatrixLookAtLH(&matView,    &D3DXVECTOR3 (0.0f, 8.0f, 25.0f),    // the camera position    &D3DXVECTOR3 (0.0f, 0.0f, 0.0f), // the look-at position    &D3DXVECTOR3 (0.0f, 1.0f, 0.0f));    // the up direction    d3ddev->SetTransform(D3DTS_VIEW, &matView);    // set the view transform to matView// set the projection transform    D3DXMATRIX matProjection;    // the projection transform matrix    D3DXMatrixPerspectiveFovLH(&matProjection, D3DXToRadian(45),    // the horizontal field of view (FLOAT)SCREEN_WIDTH / (FLOAT)SCREEN_HEIGHT, // aspect ratio 1.0f,   // the near view-plane 100.0f);    // the far view-plane    d3ddev->SetTransform(D3DTS_PROJECTION, &matProjection); // set the projection    // set the world transform    static float index = 0.0f; index+=0.03f; // an ever-increasing float value    D3DXMATRIX matRotateY;    // a matrix to store the rotation for each triangle    D3DXMatrixRotationY(&matRotateY, index);    // the rotation matrix    d3ddev->SetTransform(D3DTS_WORLD, &(matRotateY));    // set the world transform   
  That is the order in which you should multiply the world, view and projection matrices together to form the final transformation matrix that you use.However, when setting the matrices like that on the direct3d fixed function device, it does it in the right order for you automatically.   ;  Hi,The order of initialization is not important, as long as the matrices are filled before rendering, it'll go alright, you can try to inverse stuff in your code, you'll see no difference.In my opinion this kind of question comes when you don't have solid basics in programing (in general), I advice you to revise your basics.