   Transformations of multiple models.
  Hi all,I am currently learning DirectX 9.0c (mainly from 'Introduction to 3D game programming with DirectX 9.0c A shader approach - Frank D Luna').I have created a very basic scene with two separate traingle strips. One being the 'ground' and one being a triangle standing vertically.I am having trouble understanding how I can choose the 'triangle' and transform it.At the moment I have a simple rotate transform set up, but this is also rotating the 'ground' object along with the 'triangle'.D3DXMATRIX matRotateY;if(timer2->alarm()){index+=0.01f;    // Rotate this amount every 100th of a second} D3DXMatrixRotationY(&matRotateY, index);d3dDevice->SetTransform(D3DTS_WORLD, &matRotateY);How do I go about translating the 'Triangle' without affecting the 'Ground'?Many thanks in advance!!   
  every object in the world should have a world matrix that represents its rotation and position.You should use two different matrices and set them as world matrix before calling your drawing function. Something like this (warning, pseudo-code ahead):void Init(){D3DXMATRIX groundMatrix, triMatrix;D3DXMatrixIdentity(&groundMatrix); // set the ground at the originD3DXMatrixTranslation(&triMatrix, 0, 1, 0); // set the triangle 1 unit on the ground}void Draw(){d3dDevice->SetTransform(D3DTS_WORLD, &groundMatrix);ground->Render();d3dDevice->SetTransform(D3DTS_WORLD, &triMatrix);triangle->Render();}Hope this helps :)   ;  Awesome b3rs3rk,That was exactly what I was after!This is all starting to make sense now.I still have a long way to go. But, that gives me better insight as to how all this works. All of the tutorials I have come across only really deal with one object, so when I added more ojects, this is where I became stuck.Thanks again b3rs3rk that was really helpfull!!   ;  The key thing to understand about all of this is that the device is a "state machine".  You set state on the device and render primitives.  Whatever state was in effect at the time the primitives were drawn is what the primitives use.  When you draw a scene, different primitives in the scene will have different state.  In your case you have a ground plane and a triangle.  Their orientation on the render target is controlled by the transformation state in fixed-function pipeline and the vertex shader state in the programmable pipeline.  The way you draw a scene, no matter how complex it is, always looks like this:for each object in scene  set state for object  draw object's primitives;  Got ya!Thanks for your help.   