void GetViewFrustumBounds(FConvexVolume& OutResult, const FMatrix& ViewProjectionMatrix, const FPlane& InFarPlane, bool bOverrideFarPlane, bool UseNearPlane) { OutResult.Planes.Empty( 6 ); FPlane Temp; // Near clipping plane. if(UseNearPlane && ViewProjectionMatrix.GetFrustumNearPlane(Temp)) { OutResult.Planes.Add(Temp); } // Left clipping plane. if(ViewProjectionMatrix.GetFrustumLeftPlane(Temp)) { OutResult.Planes.Add(Temp); } // Right clipping plane. if(ViewProjectionMatrix.GetFrustumRightPlane(Temp)) { OutResult.Planes.Add(Temp); } // Top clipping plane. if(ViewProjectionMatrix.GetFrustumTopPlane(Temp)) { OutResult.Planes.Add(Temp); } // Bottom clipping plane. if(ViewProjectionMatrix.GetFrustumBottomPlane(Temp)) { OutResult.Planes.Add(Temp); } // Far clipping plane. if (bOverrideFarPlane) { OutResult.Planes.Add(InFarPlane); } else if(ViewProjectionMatrix.GetFrustumFarPlane(Temp)) { OutResult.Planes.Add(Temp); } OutResult.Init(); }