Original Post
Hey guys, I'm having a wierd depth buffer problem. I am drawing a simple city and buildings are sometimes (not always) showing up in the wrong order(farthest buildings show in front of closer buildings). Below is an image of the problem: http://www.seanazlin.com/images/wtf.jpg 
You'll notice that bldg 3 shows up in front of bldg 1 and 2, and 2 shows up in front of 1. We should be seeing 1, 2, and then 3 from closest to farthest. In the center of the screen I have 2 towers that are also showing up in the wrong order. I'm thinking something is wrong with my render states. Here's what I am setting: this isnt all of the source, but it is all of the render states. i've tried messing with everything and looking through the sdk with no success. Anyone have an idea of what's going wrong? -Sean

g_pdevice->SetRenderState(D3DRS_ZENABLE, TRUE ); // Z-Buffer (Depth Buffer)
g_pdevice->SetRenderState(D3DRS_CULLMODE, D3DCULL_CCW );
g_pdevice->SetRenderState(D3DRS_LIGHTING, FALSE);
g_pdevice->SetRenderState(D3DRS_AMBIENT, D3DCOLOR_XRGB(180, 180, 180));
g_pdevice->SetRenderState( D3DRS_FILLMODE, D3DFILL_SOLID);
...
g_pdevice->BeginScene();
g_city1.Render(g_pdevice);
g_pdevice->EndScene();