   Simple primitive question
  I think im going insane, i cant seem to solve this problem, i'm rendering some terrain based on a height map, nice and easy you'd think but for some reason i cant translate the camera, whenever i try to translate the camera or even the terrain the translate together it makes no sense, this is the code minus any translations i might want too do.renderingvoid RenderFrame(){    d3ddev->Clear( 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER, D3DCOLOR_XRGB(0,40,100), 1.0f, 0 );    d3ddev->BeginScene();aTerrain->Render();    d3ddev->EndScene();    d3ddev->Present(NULL, NULL, NULL, NULL);    return;}void BruteForceTerrain::Render(){d3ddev->SetStreamSource(0, pVB, 0, sizeof(TerrainVertex));d3ddev->SetFVF(D3DFVF_TERRAINVERTEX);d3ddev->SetIndices(pIB);d3ddev->DrawIndexedPrimitive(D3DPT_TRIANGLELIST, 0, 0, numberOfVertices, 0, numberOfTriangles);}This is fine and it renders the terrain at the top left of the screen, the problem is i would like the camera to have a top down view of the terrain. As i say i've tried to translate the two seperately and together but no translations seem to work? Could there be another problem i've overlooked?i've tried translating the world before rendering the terrain then doing a view translationg but it doesnt seem to work.   
  What is the typeof D3DFVF_TERRAINVERTEX? Does it include D3DFVF_XYZRHW?You should set all three matrices before rendering anything. The vertices are multiplied by mayWorld*matView*matProj, so they all need to be valid.Generally, you leave the projection transform alone and change the view transform whenever the camera moves (in your case never), and change the world transform several times per frame, once for every object to render.   ;Quote:Original post by Evil SteveWhat is the typeof D3DFVF_TERRAINVERTEX? Does it include D3DFVF_XYZRHW?You should set all three matrices before rendering anything. The vertices are multiplied by mayWorld*matView*matProj, so they all need to be valid.Generally, you leave the projection transform alone and change the view transform whenever the camera moves (in your case never), and change the world transform several times per frame, once for every object to render.yeah thats what i had been doing, i set up all three matrices along with the initialisation of direct x, tucked away in a function somewherethen tried move the terrain with a world trasform but i wouldn't work the terrain is just rendered at the top left of the viewport >.>struct TerrainVertex{TerrainVertex() {}TerrainVertex(float _x, float _y, float _z, float _rhw, DWORD _colour) {x = _x; y = _y ; z = _z;rhw = _rhw;colour = _colour;}float x, y, z, rhw;    DWORD colour;};#define D3DFVF_TERRAINVERTEX (D3DFVF_XYZRHW|D3DFVF_DIFFUSE)it contains a position rhw and a colour.   ;  XYZRHW vertices are transformed vertices and thus do not participate in vertex shaders or fixed-function vertex transformations.For more details, see Chapter 5. Modeling and Chapter 6. Vertex Transformations from my book.   ;Quote:Original post by LordFalloutit contains a position rhwThat disables the transform & lighting (aka 'vertex shader') stage in the Direct3D pipeline. Any transformation matrices you set are being ignored.Get rid of the rhw field and move back to regular 3D geometry with D3DFVF_XYZ.hthJack;Quote:Original post by legalizeXYZRHW vertices are transformed vertices and thus do not participate in vertex shaders or fixed-function vertex transformations.For more details, see Chapter 5. Modeling and Chapter 6. Vertex Transformations from my book.Thank you so much, it solved my problem, its so annoying when you've just overlooked something like this and end up spending half a day trying to fix the problem :) thanks a lot guys. Will definetly give the book a look   