   This is REALLY FRUStrating. Can someone please give me some code (DX)??
  Hey. I have been working on a frustum culling app. with the DirectX 8 SDK. I have been trying to get the frustum to calculate correctly for about five days now. This is really getting frustrating. I have searched this board, tried code, and everything else I can.Can someone give me code to a function that calculates the frustum, given the view and projection matrices? 
  Well, first of all you should really try use a more descriptive subject when you''re asking for help.  That way the people that are knowledgeable about what you''re asking will be more likely to read your post.I haven''t played with frustum culling in a very long time so I don''t have any code to give you.  The SDK comes with a sample program that implements frustum culling.  I''m sure there are tutorials out there on this since it''s pretty common.You might want to try and change the subject of your post and ask specific questions.  Is there some part of the process you''re not clear on?  Perhaps if you explain what you understand of the concept, others may be able to point out things that you might not have noticed.neneboricua ;  Hey, I''m sorry for the lack of information. I got in a hurry. Well, I''ve seen many examples, but they''re all OpenGL code. Also, I looked at the SDK example, and that didn''t help one bit. I think part of my problem is how I use the view matrix in the main file (AppMain.cpp). Here''s what I do when the user updates the camera: // Setup the look-at vectorg_vecLookAt.x = sinf(yRot) + g_vecPos.x;g_vecLookAt.y = g_vecPos.y;g_vecLookAt.z = cosf(yRot) + g_vecPos.z;// Update the view matrixD3DXMatrixLookAtLH(&mtxView,&g_vecPos,   &g_vecLookAt,   &D3DXVECTOR3(0.0f, 1.0f, 0.0f));g_pDevice->SetTransform(D3DTS_VIEW, &mtxView);Here are the vectors I am using: D3DXVECTOR3 g_vecPos    = D3DXVECTOR3(0.0f, 0.0f, -5.0f); // Position vectorD3DXVECTOR3 g_vecLookAt = D3DXVECTOR3(0.0f, 1.0f,  1.0f); // The current look-at vectorI think it has to do with the way I am calculating the new view matrix, but I''m not sure. If this still isn''t enough information, please let me know. Also, I calculate the frustum like this (in class ''CFrustum''): D3DXMatrixMultiply(&matClip, matView, matProj);    // Get the clipping plane information// Calculate the right side of the frustumm_Frustum[0].a = matClip._14  - matClip._11;m_Frustum[0].b = matClip._24  - matClip._21;m_Frustum[0].c = matClip._34 - matClip._31;m_Frustum[0].d = matClip._44 - matClip._41;// Calculate the left side of the frustumm_Frustum[1].a = matClip._14  + matClip._11;m_Frustum[1].b = matClip._24  + matClip._21;m_Frustum[1].c = matClip._34 + matClip._31;m_Frustum[1].d = matClip._44 + matClip._41;// Calculate the bottom side of the frustumm_Frustum[2].a = matClip._14  + matClip._13;m_Frustum[2].b = matClip._24  + matClip._22;m_Frustum[2].c = matClip._34 + matClip._32;m_Frustum[2].d = matClip._44 + matClip._42;// Calculate the left side of the frustumm_Frustum[3].a = matClip._14  - matClip._13;m_Frustum[3].b = matClip._24  - matClip._22;m_Frustum[3].c = matClip._34 - matClip._32;m_Frustum[3].d = matClip._44 - matClip._42;// Calculate the far side of the frustumm_Frustum[4].a = matClip._14  - matClip._13;m_Frustum[4].b = matClip._24  - matClip._23;m_Frustum[4].c = matClip._34 - matClip._33;m_Frustum[4].d = matClip._44 - matClip._43;// Calculate the near side of the frustumm_Frustum[5].a = matClip._14  + matClip._13;m_Frustum[5].b = matClip._24  + matClip._23;m_Frustum[5].c = matClip._34 + matClip._33;m_Frustum[5].d = matClip._44 + matClip._43;// NormalizeFrustum();// Normalize the sides of the frustumfor (int nIndex = 0; nIndex < 6; nIndex++) D3DXPlaneNormalize(&m_Frustum[nIndex], &m_Frustum[nIndex]);''m_Frustum'' is defined as ''D3DXPLANE m_Frustum[MAX_SIDES];'' in the class, with ''MAX_SIDES'' being #define''d as 6, which is the number of planes in the viewing frustum.Any help is appreciated.Thanks ;  well, here''s my code, hope it helps.  It works great for me, but i forgot where exactly i found it (somewhere online)D3DXMATRIX p, v, m;dev->GetTransform(D3DTS_PROJECTION, &p);dev->GetTransform(D3DTS_VIEW, &v);D3DXMatrixMultiply(&m, &v, &p);//left planeplanes[0].a = m._14 + m._11;planes[0].b = m._24 + m._21;planes[0].c = m._34 + m._31;planes[0].d = m._44 + m._41;D3DXPlaneNormalize(&planes[0], &planes[0]);//right planeplanes[1].a = m._14 - m._11;planes[1].b = m._24 - m._21;planes[1].c = m._34 - m._31;planes[1].d = m._44 - m._41;D3DXPlaneNormalize(&planes[1], &planes[1]);//near planeplanes[2].a = m._13;planes[2].b = m._23;planes[2].c = m._33;planes[2].d = m._43;D3DXPlaneNormalize(&planes[2], &planes[2]);//far planeplanes[3].a = m._14 - m._13;planes[3].b = m._24 - m._23;planes[3].c = m._34 - m._33;planes[3].d = m._44 - m._43;D3DXPlaneNormalize(&planes[3], &planes[3]);//bottom planeplanes[4].a = m._14 + m._12;planes[4].b = m._24 + m._22;planes[4].c = m._34 + m._32;planes[4].d = m._44 + m._42;D3DXPlaneNormalize(&planes[4], &planes[4]);//top planeplanes[5].a = m._14 - m._12;planes[5].b = m._24 - m._22;planes[5].c = m._34 - m._32;planes[5].d = m._44 - m._42;D3DXPlaneNormalize(&planes[5], &planes[5]); 