public void BeforeFrameRendering() { Transform camTrans = cam.transform; perspCam.forward = camTrans.forward; perspCam.up = camTrans.up; perspCam.right = camTrans.right; perspCam.position = camTrans.position; perspCam.nearClipPlane = cam.nearClipPlane; perspCam.farClipPlane = cam.farClipPlane; perspCam.aspect = cam.aspect; perspCam.fov = cam.fieldOfView; float3 *corners = stackalloc float3[8]; PipelineFunctions.GetFrustumCorner(ref perspCam, corners); frustumMinPoint = corners[0]; frustumMaxPoint = corners[0]; for (int i = 1; i < 8; ++i) { frustumMinPoint = min(frustumMinPoint, corners[i]); frustumMaxPoint = max(frustumMaxPoint, corners[i]); } PipelineFunctions.GetPerspFrustumPlanesWithCorner(ref perspCam, frustumArray.unsafePtr, corners + 4); }